smallrye-open-api
smallrye-open-api copied to clipboard
SmallRye implementation of Eclipse MicroProfile OpenAPI
:microprofile-open-api: https://github.com/eclipse/microprofile-open-api/
image:https://github.com/smallrye/smallrye-open-api/workflows/SmallRye%20Build/badge.svg?branch=main[link=https://github.com/smallrye/smallrye-open-api/actions?query=workflow%3A%22SmallRye+Build%22] image:https://sonarcloud.io/api/project_badges/measure?project=smallrye_smallrye-open-api&metric=alert_status["Quality Gate Status", link="https://sonarcloud.io/dashboard?id=smallrye_smallrye-open-api"] image:https://img.shields.io/github/license/thorntail/thorntail.svg["License", link="http://www.apache.org/licenses/LICENSE-2.0"]
= SmallRye OpenAPI
SmallRye OpenAPI is an implementation of {microprofile-open-api}[Eclipse MicroProfile OpenAPI].
== Instructions
Compile and install this project:
[source,bash]
mvn clean install
=== Project structure
- link:core[core] - The core OpenAPI code, independent of entry point dependencies.
- link:extension-jaxrs[extension-jaxrs] - The JAX-RS entry point. This module depends on JAX-RS and core.
- link:extension-spring[extension-spring] - The Spring entry point. This module depends on Spring and core.
- link:extension-vertx[extension-vertx] - The Vert.x entry point. This module depends on Vert.x and core.
- link:implementation[implementation] - Implementation of the Eclipse MicroProfile OpenAPI specification. This just pulls in Core and the JAX-RS extension .
- link:testsuite[testsuite] - Test Suites and Data ** link:testsuite/tck[tck] - Test suite to run the implementation against the Eclipse MicroProfile OpenAPI TCK. ** link:testsuite/extra[extra] - Extra integration tests not related to the TCK. ** link:testsuite/data[data] - Classes for use by unit tests
- link:tools/maven-plugin[maven-plugin] - Maven plugin that creates the OpenAPI Schema on build.
=== Links
- http://github.com/smallrye/smallrye-open-api/[Project Homepage]
- {microprofile-open-api}[Eclipse MicroProfile OpenAPI]
=== Configuration Extensions
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 injakarta.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.PropertyNamingStrategyorjavax.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 thetranslatemethod is utilized.mp.openapi.extensions.smallrye.remove-unused-schemas.enable- Set totrueenable automatic removal of unused schemas fromcomponents/schemasin the OpenAPI model. Unused schemas will be removed following annotation scanning but prior to running anyOASFilterthat may be configured. Default value isfalse.