Introduction
Integrate Springwolf in minutes using the Quickstart.
What's Springwolf
API Documentation is an important part of every project and product, but can be painful to maintain manually. Spring Boot projects have great solutions for auto-generated documentation for REST APIs to overcome this pain (such as Springfox, or springdoc-openapi).
However, until now there were no solutions for asynchronous APIs (such as AMQP, JMS, Kafka, SNS, SQS, STOMP/WebSocket, etc.). Springwolf aims to solve this and provides auto-generated documentation for asynchronous APIs built in Spring Boot.
Springwolf is compliant to AsyncAPI, which brings the swagger/OpenAPI specification you know already from REST APIs into the world of event-driven architectures.
Demo
View the live demo of Springwolf in action.
Also, the demos of the AMQP, Spring Cloud Stream, JMS, Kafka, SNS, SQS, STOMP (WebSocket) example projects are available.
What does it do
If you are using Spring Boot annotation based listeners (such as @KafkaListener
, @RabbitListener
etc.), you probably have something like this in your codebase:
@Service
public class ExampleConsumer {
@KafkaListener(topics = "example-topic")
public void receiveExamplePayload(ExamplePayloadDto payload) {
// Do something with payload
}
}
By simply adding Springwolf dependency to your project you will automatically get:
- An endpoint returning an AsyncAPI document describing your asynchronous API.
- A web UI for convenient use by your developers, QA or clients of your asynchronous API.
- An easy way to publish messages to your asynchronous API with a click of a button