Overview of Springwolf for Spring Boot asynchronous APIs
Springwolf is a tool for Spring Boot projects that provides auto-generated documentation for asynchronous APIs (such as AMQP, JMS, Kafka, SNS, SQS, and STOMP/WebSocket). It is compliant with the AsyncAPI specification, bringing a similar experience to OpenAPI/Swagger but for event-driven architectures. When integrated into a project using annotation-based listeners (e.g., @KafkaListener, @RabbitListener), Springwolf automatically provides:
- An endpoint that returns an AsyncAPI document describing the asynchronous API.
- A web UI for developers, QA, and clients to view the API.
- The ability to publish messages to the asynchronous API via the UI.
@Service
public class ExampleConsumer {
@KafkaListener(topics = "example-topic")
public void receiveExamplePayload(ExamplePayloadDto payload) {
// Do something with payload
}
}