Swagger Core is a Java implementation of the OpenAPI Specification. Current version supports JAX-RS2 (javax and jakarta namespaces). One of the common usage scenarios is to integrate swagger-jaxrs2 into an existing or new JAX-RS based project ("code-first"), to automatically provide and expose its APIs definition, which is kept in sync during the project lifecycle. Such definition can be the base for further processing/consumption, including API documentation (e.g with swagger-ui, API client generation in various languages (e.g with swagger-codegen), custom processing, and so on. Such result is achieved by scanning JAX-RS resources and resolving their operations and used types, (also) processing applied annotations (e.g. Swagger, JAX-RS, Jackson, JAXB, etc.). An extension mechanism allows to further customize and pre/post processing result.
Features
- OpenAPI specification Java implementation
- Resolves (annotated) java POJOs into OpenAPI schemas, handles serialization/deserialization and provides an integration mechanism.
- Resolves JAX-RS (annotated) resources into an OpenAPI definition, and provides an integration mechanism
- Annotations to declare and manipultate output generated by swagger-core, swagger-jaxrs2 and/or other projects
- Provides a maven plugin to resolve an OpenAPI definition at build time (using swagger-jaxrs2)
- Provides a gradle plugin to resolve an OpenAPI definition at build time (using swagger-jaxrs2)