Skip to content

themis-pyrgiotis/springwolf-core

 
 

Repository files navigation

version springwolf-core License

Springwolf Core

Automated documentation for async APIs built with Spring Boot

Table Of Contents

About

This project is inspired by Springfox, but instead of documenting REST APIs, it documents async APIs.

The resulting document is compliant with the asyncapi specification and is provided as a web UI, much like that of Springfox, and allows easy publishing of autogenerated payload examples.

Demo

You can take a look at a live demo of springwolf.

Supported protocols

  • Kafka
  • SQS (coming soon!)

Why you should use it

In projects using async APIs, you may often find yourself needing to manually send a message to some topic, whether if you are manually testing a new feature, debugging or trying to understand some flow. This requires:

  1. Instantiating a payload object
  2. Serializing your payload object
  3. Publishing it by the CLI or some other interface.

Springwolf exploits the fact you already fully described your consumer endpoint (with listener annotations, such as @KafkaListner) and automatically generates an example payload object for the appropriate payload and allows you to publish it to the correct channel with a single click.

Usage

You should not be using this dependency in your application. Instead, use one of the supported protocols plugins:

Example Project

You can run the provided docker-compose file and check localhost:8080/asyncapi-ui.html. The source can be found here.

Development

Local Snapshots

To work with local snapshots, run the publishToMavenLocal task with -Dsnapshot=true.

About

Automated documentation for async APIs built with Spring Boot

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%