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.
You can take a look at a live demo of springwolf.
- Kafka
- SQS (coming soon!)
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:
- Instantiating a payload object
- Serializing your payload object
- 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.
You should not be using this dependency in your application. Instead, use one of the supported protocols plugins:
You can run the provided docker-compose file and check localhost:8080/asyncapi-ui.html
.
The source can be found here.
To work with local snapshots, run the publishToMavenLocal
task with -Dsnapshot=true
.