Skip to main content

Introduction

info

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.

Springwolf publishing demo

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