We are on discord for any question, discussion, request etc. Join us at https://discord.gg/HZYqd5RPTd
- About
- Demo
- Documentation
- Supported protocols
- Why you should use it
- Usage & Example
- Development
- Contributors
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.
Springwolf documentation is available at here.
- Kafka
- AMQP (RabbitMQ)
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
, @RabbitListener
etc.) 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.
Code / Plugin / Addon | Example project | Current version | SNAPSHOT version |
---|---|---|---|
Core | |||
AMQP | AMQP Example | ||
Cloud Stream | Cloud Stream Example | ||
Kafka | Kafka Example | ||
Common Model Converter |
Add the following to the repositories
closure in build.gradle
:
repositories {
// ...
maven {
url "https://s01.oss.sonatype.org/content/repositories/snapshots"
}
}
Or add the repository
to your pom.xml
if you are using maven:
<repositories>
<repository>
<id>oss-sonatype</id>
<name>oss-sonatype</name>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
To work with local builds, run the publishToMavenLocal
task. The current version number is set in .env
file.
Thanks goes to these wonderful people (emoji key):
To add yourself as a contributor, install the all-contributors CLI and run:
all-contributors check
all-contributors add <username> code
all-contributors generate