javalin-openapi
javalin-openapi copied to clipboard
Annotation processor for compile-time OpenAPI & JsonSchema, with out-of-the-box support for Javalin 5.x, Swagger & ReDoc
All our projects were previously programmatically defining our open api docs with javalin. Has support for that been dropped? How do you do that now?
**Context** > Most of the property attributes work fine and make sense on fields, but don't currently support being put there. This fixes that limitation, which is useful when using...
**Feature** Support naming strategies: * Default (1:1 to field name) * Kebab case * Snake case More about `@JsonNaming`: * https://www.baeldung.com/jackson-advanced-annotations#bd-jsonnaming **Example** It should cover scenarios like: ```java public record...
There is currently two issues with multiple swagger UIs: a) one has to create a sub-class of the plugin as otherwise `javalin` wouldn't register it (I will read upon that...
The old plugin allows us to define OpenAPI documentation on runtime. Example: ```java OpenApiDocumentation getPriceByProductId = OpenApiBuilder.document() .queryParam("productId", String.class) .json("200", Price.class); ApiBuilder.get( "/products/{productId}/price", OpenApiBuilder.documented( getPriceByProductId, priceByProductIdHandler()); ``` It would be...
The old plugin had support for default responses: ``` OpenApiOptions().apply { defaultDocumentation { doc -> doc.json("500", ErrorResponse::class.java) doc.json("503", ErrorResponse::class.java) } } ``` These are responses which could occur on any...
Use latest versions of the swagger plugin and redoc plugin. Fixes vulnerable dependencies from `maven:org.webjars:swagger-ui:3.52.5` [CVE-2021-46708](https://devhub.checkmarx.com/cve-details/CVE-2021-46708?utm_source=jetbrains&utm_medium=referral) 6.1 Improper Restriction of Rendered UI Layers or Frames vulnerability with Medium severity found...
First of all, thank you for the great work. Quick question: which annotations should be used to specify an integer enum with values description ? ```yaml components: schemas: RequestTypeEnum: type:...