SmallRye OpenAPI is an implementation of Eclipse MicroProfile OpenAPI.
Compile and install this project:
mvn clean install
-
core - The core OpenAPI code, independent of entry point dependencies.
-
extension-jaxrs - The JAX-RS entry point. This module depends on JAX-RS and core.
-
extension-spring - The Spring entry point. This module depends on Spring and core.
-
extension-vertx - The Vert.x entry point. This module depends on Vert.x and core.
-
implementation - Implementation of the Eclipse MicroProfile OpenAPI specification. This just pulls in Core and the JAX-RS extension .
-
model - Base model classes used by core and extensions to represent an OpenAPI document
-
testsuite - Test Suites and Data
-
-
gradle-plugin - Gradle plugin that creates the OpenAPI Schema on build.
-
maven-plugin - Maven plugin that creates the OpenAPI Schema on build.
-
model-apt - APT processor to generate model classes (in core) based on annotations (not for general-purpose use)
-
-
Property Naming Strategy
mp.openapi.extensions.smallrye.property-naming-strategy
Define a naming strategy to be used globally for all schema properties. Set to one of the following:
-
A standard JSON-B naming strategy (listed in
jakarta.json.bind.config.PropertyNamingStrategy
/javax.json.bind.config.PropertyNamingStrategy
) -
A fully-qualified class name of an implementation of a JSON-B property naming strategy (
jakarta.json.bind.config.PropertyNamingStrategy
orjavax.json.bind.config.PropertyNamingStrategy
) -
A fully-qualified class name of an implementation of a Jackson property naming strategy base class (
com.fasterxml.jackson.databind.PropertyNamingStrategies.NamingBase
). Only thetranslate
method is utilized.
-
-
Removal of unused schemas
mp.openapi.extensions.smallrye.remove-unused-schemas.enable
Set to
true
enable automatic removal of unused schemas fromcomponents/schemas
in the OpenAPI model. Unused schemas will be removed following annotation scanning but prior to running anyOASFilter
that may be configured. Default value isfalse
. -
Automatic Schema Inheritance
mp.openapi.extensions.smallrye.auto-inheritance
Configures handling of schema inheritance. Allowed values include
NONE
(default),BOTH
, andPARENT_ONLY
.-
NONE
disables automatic schema inheritance. Parent class properties will be includes in the properties map of each child class unless@Schema(allOf = { … })
has been specified on the child class. -
BOTH
enables automatic schema inheritance by placing both the child and parent class within the child schema’sallOf
property unless@Schema(allOf = { … })
has already been specified on the child class.BOTH
processing can be selectively disabled on individual classes by setting@Schema(allOf = void.class)
on the child class and noallOf
will be set on the resulting schema - parent and child properties will be present in the child schema as ifNONE
were used. -
PARENT_ONLY
enables automatic schema inheritance by placing only the parent class within the child schema’sallOf
property unless@Schema(allOf = { … })
has already been specified on the child class.PARENT_ONLY
processing can be selectively disabled on individual classes by setting@Schema(allOf = void.class)
on the child class and noallOf
will be set on the resulting schema - parent and child properties will be present in the child schema as ifNONE
were used.
-
-
Duplicate Operation ID Behavior
mp.openapi.extensions.smallrye.duplicateOperationIdBehavior
Set to
FAIL
to abort in case of duplicate operationIds, set toWARN
to log warnings when the build encounters duplicate operationIds. Default value isWARN
. -
Maximum Static File Size
mp.openapi.extensions.smallrye.maximumStaticFileSize
Set this value in order to change the maximum threshold for processed static files, when generating model from them. If not set, it will default to 3 MB.
-
Merge Schema Examples
mp.openapi.extensions.smallrye.merge-schema-examples
Set this boolean value to disable the merging of the deprecated
@Schema
example
property into theexamples
array introduced in OAS 3.1.0. If not set, it will default totrue
the deprecatedexample
will be mapped to theexamples
array in the OpenAPI model. -
Sorted Parameters
mp.openapi.extensions.smallrye.sorted-parameters.enable
Set this boolean value to enable or disable the sorting of parameter array entries during annotation scanning. When enabled (set to
true
), parameters will be order either by their order within a@Parameters
annotation on an operation method or (in the absence of that annotation) by their$ref
,in
, andname
attributes. When disabled (set tofalse
), parameters will be in the order they are encountered in the Java code. If not set, it will default totrue
.