Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NameDescriptionDefault value (if applicable)Sample value (if applicable) 
configLocation

the OpenAPI configuration location

null/config/openapi-configuration.yml 
scanKnownConfigLocations

scan known OpenAPI configuration location (classpath or filesystem), which are:

No Format
openapi-configuration.yaml
openapi-configuration.json
openapi.yaml
openapi.json


truetrue 
propertiesLocationthe properties file location/swagger.properties /swagger.properties 
securityDefinitionsa list of security definitions*null

["basicAuth" -> new SecurityScheme().type(Type.HTTP))]

 

customizerthe customizer class instancenullnew OpenApiCustomizer() 
swaggerUiMavenGroupAndArtifactthe Maven artifacts to pinpoint SwaggerUInull"org.webjars.swagger-ui' 
swaggerUiVersionthe version of SwaggerUInull"3.13.0" 
supportSwaggerUiturns on/off SwaggerUI supportnull (== true)true 
filterClassa security filter**null"com.example.filter.SampleFilter" 
resourceClassesa list of resource classes which must be scanned**null["com.example.rest.SampleResource"] 
resourcePackagesa list of package names where resources must be scanned**null["com.example.rest"] 
ignoredRoutesexcludes specific paths when scanning all resources (see scanAllResources)**null["/api/test"] 
prettyPrintwhen generating openapi.json, pretty-print the JSON document**truetrue 
runAsFilterruns the feature as a filterfalsefalse 
scanScan all JAX-RS resources automaticallytruetrue 
readAllResourcesRead all operations also with no @Operation** truetrue 
termsOfServiceUrlthe terms of service URL*nullnull 
licenseUrlthe license URL*null"http://www.apache.org/licenses/LICENSE-2.0.html" 
licensethe license*null"Apache 2.0 License" 
contactUrlthe contact link*nullnull 
contactEmailthe contact email*null"users@cxf.apache.org" 
contactNamethe contact name*nullnull 
descriptionthe description*null"The Sample REST Application with OpenAPI integration" 
titlethe title*null"Sample REST Application" 
versionthe version*null"1.0.0" 
swaggerUiConfigSwagger UI configurationnullnew SwaggerUiConfig().url("/openapi.json")
useContextBasedConfigIf set, the unique Context Id is going to be generated for each OpenApiContext instance (see please )falsefalse

* - the properties are defined in the OpenAPI class

...

 

Code Block
xml
xml
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>swagger-ui</artifactId>
    <version>3.13.0</version>
</dependency>

 

For example, let's assume a JAX-RS endpoint is published at 'http://host:port/context/services/'.

Open the browser and go to 'http://host:port/context/services/api-docs/?url=/openapi.json' which will return a Swagger UI page.

CXF Services page will also link to Swagger UI. Go to 'http://host:port/context/services/' and follow a Swagger link which will return a Swagger UI page.

See samples/jax_rs/description_openapi_v3 as an example.

To deactivate automatic Swagger UI integration please set 'supportSwaggerUi' property to "false".

Configuring Swagger UI (3.2.7+)

The OpenApiFeature  has a way to pre-configure certain  Swagger UI parameters (https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md) through SwaggerUiConfig. Theway it is implemented is by passing those parameters as a query string so the Swagger UI could adjust itself.

Using Multiple Server Endpoints (3.3.0+)

Samples

CXF's distribution contains the following samples.