Class OpenApiExtension

java.lang.Object
dev.relism.flash.ext.openapi.OpenApiExtension
All Implemented Interfaces:
dev.relism.flash.extension.FlashExtension

public class OpenApiExtension extends Object implements dev.relism.flash.extension.FlashExtension
Generates and serves an OpenAPI 3.0 spec and Swagger UI under a configurable base path.

Given basePath = "/openapi" (the default), three routes are registered:

  • GET /openapi.json — OpenAPI 3.0 spec as JSON
  • GET /openapi.yaml — OpenAPI 3.0 spec as YAML
  • GET /openapi/swagger — Swagger UI pointing at /openapi.json

If flash-ext-jackson is installed, this extension reuses its ObjectMapper. Otherwise it uses a local default mapper.

Operations are collected at boot from handlers annotated with ApiOperation that also have route metadata (Route or shorthand verb annotations).


 FlashApp.create(8080)
     .install(new JacksonExtension())
     .install(new OpenApiExtension("/openapi", "My API", "2.0.0"))
     .start();
 
  • Constructor Details

    • OpenApiExtension

      public OpenApiExtension()
    • OpenApiExtension

      public OpenApiExtension(String basePath)
    • OpenApiExtension

      public OpenApiExtension(String basePath, String title, String version)
    • OpenApiExtension

      public OpenApiExtension(String basePath, String title, String version, String description)
  • Method Details

    • configure

      public void configure(dev.relism.flash.extension.FlashRegistrar<?> app, dev.relism.flash.extension.FlashContext ctx)
      Specified by:
      configure in interface dev.relism.flash.extension.FlashExtension