/springwolf-core

Automated documentation for async APIs built with Spring Boot

Primary LanguageJavaApache License 2.0Apache-2.0

License springwolf-core springwolf-kafka springwolf-amqp

Springwolf Core

Automated documentation for async APIs built with Spring Boot

Table Of Contents

About

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.

Demo

You can take a look at a live demo of springwolf.

Documentation

Sprinwolf documentation is available at here.

Supported protocols

  • Kafka
  • AMQP (RabbitMQ)

Why you should use it

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:

  1. Instantiating a payload object
  2. Serializing your payload object
  3. 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.

Usage

See:

Example Projects

Development

Local Snapshots

To work with local snapshots, run the publishToMavenLocal task with -Dsnapshot=true.