DPS v2 Swagger OpenAPI spec generation

The OpenAPI spec is generated using for each setting definition defined as a bean. The Swagger OpenAPI spec is automatically adapted to use generated payload based on payload class from setting definitions. Implementation is available in dynamic-processing-settings-open-api-spec module.

How to use it?

Add dependency following dependency into your project

<dependency>
    <groupId>com.iconsolutions.ipf.core.dynamicsettings.v2</groupId>
    <artifactId>dynamic-processing-settings-open-api-spec</artifactId>
</dependency>

and define new DpsOpenAPISpecConfiguration bean in your configuration.

Features

  • Complex payload classes: Handling complex payload classes from setting definition payload class (e.g. GenericProcessingSettings from csm-reachability). Generating payload in Swagger for all subtypes of payload class loaded into JVM.

  • ConfigurableEnum: support which generate possible values in Swagger OpenAPI from configuration.

  • Extensibility: parent project have ability to extend generated OpenAPI by adding custom logic in setting definition settingDefinitionOpenAPISpecCustomizer.

  • Easy to use: Swagger users can effortlessly test REST endpoints using an automatically generated request skeleton that mirrors the structure of the payload class.