Author: buildbot
Date: Mon Sep 14 02:59:46 2020
New Revision: 1065570
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/openapifeature-microprofile.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/openapifeature-microprofile.html
==============================================================================
--- websites/production/cxf/content/docs/openapifeature-microprofile.html
(original)
+++ websites/production/cxf/content/docs/openapifeature-microprofile.html Mon
Sep 14 02:59:46 2020
@@ -107,7 +107,19 @@ Apache CXF -- OpenApiFeature (Microprofi
<td height="100%">
<!-- Content -->
<div class="wiki-content">
-<div id="ConfluenceContent"><h1
id="OpenApiFeature(Microprofile)-Introduction">Introduction</h1><p>The CXF
<strong>OpenApiFeature</strong> allows you to generate <a shape="rect"
class="external-link"
href="https://github.com/OAI/OpenAPI-Specification/releases/tag/3.0.0"
rel="nofollow">OpenAPI v3.0</a> documents from JAX-RS service endpoints with a
simple configuration. This feature can be configured programmatically in Java
or using Spring or Blueprint beans.</p><h1
id="OpenApiFeature(Microprofile)-Setup">Setup</h1><div
class="table-wrap"><table class="confluenceTable"><colgroup span="1"><col
span="1"></colgroup><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code class="java plain"><dependency></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><groupId>org.apache.cxf</groupId></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><artifactId
>cxf-rt-rs-service-description-microprofile-openapi</artifactId></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><version></code><code class="java
value">3.4</code><code class="java plain">.</code><code class="java
value">0</code><code class="java plain"></version></code><br
clear="none"><code class="java
plain"></dependency></code></p></td></tr></tbody></table></div><p>The <strong>cxf-rt-rs-service-description-microprofile-openapi</strong>
is only available in <strong>3.4.0</strong>. For older releases, please
consider <a shape="rect" href="openapifeature.html">OpenApiFeature</a>
instead.</p></div>
+<div id="ConfluenceContent"><h1
id="OpenApiFeature(Microprofile)-/*<![CDATA[*/div.rbtoc1600052311610{padding:0px;}div.rbtoc1600052311610ul{list-style:disc;margin-left:0px;}div.rbtoc1600052311610li{margin-left:0px;padding-left:0px;}/*]]>*/#OpenApiFeature(Microprofile)-Introduction#OpenApiFea"><style
type="text/css">/*<![CDATA[*/
+div.rbtoc1600052311610 {padding: 0px;}
+div.rbtoc1600052311610 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1600052311610 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></h1><div class="toc-macro rbtoc1600052311610">
+<ul class="toc-indentation"><li><a shape="rect"
href="#OpenApiFeature(Microprofile)-"></a></li><li><a shape="rect"
href="#OpenApiFeature(Microprofile)-Introduction">Introduction</a></li><li><a
shape="rect" href="#OpenApiFeature(Microprofile)-Setup">Setup</a></li><li><a
shape="rect"
href="#OpenApiFeature(Microprofile)-Properties">Properties</a></li><li><a
shape="rect"
href="#OpenApiFeature(Microprofile)-ConfiguringfromCode">Configuring from
Code</a></li><li><a shape="rect"
href="#OpenApiFeature(Microprofile)-ConfiguringfromSpring">Configuring from
Spring</a></li><li><a shape="rect"
href="#OpenApiFeature(Microprofile)-ConfiguringfromPropertyfiles">Configuring
from Property files</a></li><li><a shape="rect"
href="#OpenApiFeature(Microprofile)-EnablingSwaggerUI">Enabling Swagger UI</a>
+<ul class="toc-indentation"><li><a shape="rect"
href="#OpenApiFeature(Microprofile)-ConfiguringSwaggerUI">Configuring Swagger
UI</a></li></ul>
+</li><li><a shape="rect"
href="#OpenApiFeature(Microprofile)-Samples">Samples</a></li></ul>
+</div><h1
id="OpenApiFeature(Microprofile)-Introduction">Introduction</h1><p>The CXF
<strong>OpenApiFeature</strong> allows you to generate <a shape="rect"
class="external-link" rel="nofollow"
href="https://github.com/OAI/OpenAPI-Specification/releases/tag/3.0.0">OpenAPI
v3.0</a> documents from JAX-RS service endpoints with a simple configuration.
This feature can be configured programmatically in Java or using Spring or
Blueprint beans and is an alternative to Swagger's <a shape="rect"
href="openapifeature.html">OpenApiFeature</a>.</p><h1
id="OpenApiFeature(Microprofile)-Setup">Setup</h1><div
class="table-wrap"><table class="wrapped confluenceTable"><colgroup
span="1"><col span="1"></colgroup><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code class="java plain"><dependency></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><groupId>org.apache.cxf</groupId></code><br
clear="none"><code class="
java spaces">    </code><code class="java
plain"><artifactId>cxf-rt-rs-service-description-microprofile-openapi</artifactId></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><version></code><code class="java
value">3.4</code><code class="java plain">.</code><code class="java
value">0</code><code class="java plain"></version></code><br
clear="none"><code class="java
plain"></dependency></code></p></td></tr></tbody></table></div><p>The <strong>cxf-rt-rs-service-description-microprofile-openapi</strong>
is only available in <strong>3.4.0</strong>. For older releases, please
consider Swagger's <a shape="rect"
href="openapifeature.html">OpenApiFeature</a> instead.</p><h1
id="OpenApiFeature(Microprofile)-Properties">Properties</h1><p><span>The
following optional parameters can be configured in <strong>OpenApiFeature
</strong>(please note there are some differences comparing
to Swagger's <a shape="rect"
href="openapifeature.html">OpenApiFeature</a>).</span></p><div
class="table-wrap"><table class="wrapped confluenceTable"><colgroup
span="1"><col span="1"><col span="1"><col span="1"><col
span="1"></colgroup><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd">configLocation</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the OpenAPI configuration location</p></td><td
colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1"
rowspan="1"
class="confluenceTd">/config/openapi-configuration.yml</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">scanKnownConfigLocations</td><td
colspan="1" rowspan="1" class="confluenceTd"><p>scan known OpenAPI
configuration location (classpath or filesystem), which
are:</p><pre>openapi-configuration.yaml
+openapi-configuration.json
+openapi.yaml
+openapi.json</pre></td><td colspan="1" rowspan="1"
class="confluenceTd">true</td><td colspan="1" rowspan="1"
class="confluenceTd">true</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">propertiesLocation</td><td colspan="1" rowspan="1"
class="confluenceTd">the properties file location</td><td colspan="1"
rowspan="1" class="confluenceTd">/swagger.properties</td><td colspan="1"
rowspan="1" class="confluenceTd"> /swagger.properties</td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd">swaggerUiMavenGroupAndArtifact</td><td colspan="1"
rowspan="1" class="confluenceTd">the Maven artifacts to pinpoint
SwaggerUI</td><td colspan="1" rowspan="1" class="confluenceTd">null</td><td
colspan="1" rowspan="1"
class="confluenceTd">"org.webjars.swagger-ui'</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">swaggerUiVersion</td><td colspan="1"
rowspan="1" class="confluenceTd">the version of SwaggerUI</td><td colspan="1"
rowspan="1" class="confluenceTd">null</td><td
colspan="1" rowspan="1" class="confluenceTd">"3.13.0"</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">supportSwaggerUi</td><td
colspan="1" rowspan="1" class="confluenceTd">turns on/off SwaggerUI
support</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>null (==
true)</strong></td><td colspan="1" rowspan="1"
class="confluenceTd">true</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">filterClass</td><td colspan="1" rowspan="1"
class="confluenceTd">a security
filter<strong>*</strong><strong>*</strong></td><td colspan="1" rowspan="1"
class="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">"com.example.filter.SampleFilter"</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">resourceClasses</td><td
colspan="1" rowspan="1" class="confluenceTd">a list of resource classes which
must be scanned<strong>*</strong><strong>*</strong></td><td colspan="1"
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" class
="confluenceTd">["com.example.rest.SampleResource"]</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">resourcePackages</td><td
colspan="1" rowspan="1" class="confluenceTd">a list of package names where
resources must be scanned<strong>*</strong><strong>*</strong></td><td
colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1"
rowspan="1" class="confluenceTd">["com.example.rest"]</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">ignoredRoutes</td><td colspan="1"
rowspan="1" class="confluenceTd">excludes specific paths when scanning all
resources (see
scanAllResources)<span><strong>*</strong><strong>*</strong></span></td><td
colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1"
rowspan="1" class="confluenceTd">["/api/test"]</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">prettyPrint</td><td colspan="1" rowspan="1"
class="confluenceTd">when generating openapi.json, pretty-print the JSON
document<span><strong>*</strong>
<strong>*</strong></span></td><td colspan="1" rowspan="1"
class="confluenceTd"><strong>true</strong></td><td colspan="1" rowspan="1"
class="confluenceTd">true</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">runAsFilter</td><td colspan="1" rowspan="1"
class="confluenceTd">runs the feature as a filter</td><td colspan="1"
rowspan="1" class="confluenceTd"><strong>false</strong></td><td colspan="1"
rowspan="1" class="confluenceTd">false</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">scan</td><td colspan="1" rowspan="1"
class="confluenceTd">Scan all JAX-RS resources automatically</td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>true</strong></td><td
colspan="1" rowspan="1" class="confluenceTd">true</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">readAllResources</td><td colspan="1"
rowspan="1" class="confluenceTd"><span>Read all operations also with no
@Operation<strong>*</strong><strong>*</strong></span><span> </span></td><td
co
lspan="1" rowspan="1" class="confluenceTd"><strong>true</strong></td><td
colspan="1" rowspan="1" class="confluenceTd">true</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">termsOfServiceUrl</td><td colspan="1"
rowspan="1" class="confluenceTd">the terms of service
URL<span><strong>*</strong></span></td><td colspan="1" rowspan="1"
class="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">null</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">licenseUrl</td><td colspan="1" rowspan="1"
class="confluenceTd">the license URL<strong>*</strong></td><td colspan="1"
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">"<span class="nolink"><a shape="rect"
class="external-link"
href="http://www.apache.org/licenses/LICENSE-2.0.html">http://www.apache.org/licenses/LICENSE-2.0.html</a></span>"</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">license</td><td colspan="1"
rowspan="1" class="confluenceTd">
the license<span><strong>*</strong></span></td><td colspan="1" rowspan="1"
class="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">"Apache 2.0 License"</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">contactUrl</td><td colspan="1" rowspan="1"
class="confluenceTd">the contact link<strong>*</strong></td><td colspan="1"
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">null</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">contactEmail</td><td colspan="1" rowspan="1"
class="confluenceTd">the contact email<strong>*</strong></td><td colspan="1"
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">"users@<a shape="rect"
href="http://cxf.apache.org">cxf.apache.org</a>"</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">contactName</td><td colspan="1" rowspan="1"
class="confluenceTd">the contact name<strong>*</strong></td><td colspan="1"
rowspan="1" clas
s="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">null</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">description</td><td colspan="1" rowspan="1"
class="confluenceTd">the description<span><strong>*</strong></span></td><td
colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1"
rowspan="1" class="confluenceTd">"The Sample REST Application with OpenAPI
integration"</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd">title</td><td colspan="1" rowspan="1"
class="confluenceTd">the title<span><strong>*</strong></span></td><td
colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1"
rowspan="1" class="confluenceTd">"Sample REST Application"</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">version</td><td colspan="1"
rowspan="1" class="confluenceTd">the
version<span><strong>*</strong></span></td><td colspan="1" rowspan="1"
class="confluenceTd">null</td><td colspan="1" rowspan="1" class="confluenceTd">"
1.0.0"</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><span
class="blob-code-inner
blob-code-marker-addition">swaggerUiConfig</span></td><td colspan="1"
rowspan="1" class="confluenceTd">Swagger UI configuration</td><td colspan="1"
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1"
class="confluenceTd">new <span class="blob-code-inner
blob-code-marker-addition"><span
class="pl-smi">SwaggerUiConfig</span>().url("/openapi.json")</span></td></tr></tbody></table></div><p><span><strong>*</strong>
- the properties are defined in the OpenAPI
class</span></p><p><span> <strong>*</strong><strong>*</strong> - the
properties are defined in the SwaggerConfiguration class</span></p><h1
id="OpenApiFeature(Microprofile)-ConfiguringfromCode">Configuring from
Code</h1><div class="table-wrap"><table class="wrapped
confluenceTable"><colgroup span="1"><col span="1"></colgroup><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code class="java plain
">import org.apache.cxf.jaxrs.microprofile.openapi.OpenApiFeature;</code><br
clear="none"> <br clear="none"><code class="java plain">...</code><br
clear="none"> <br clear="none"><code class="java keyword">final</code>
<code class="java plain">OpenApiFeature feature = </code><code class="java
keyword">new</code> <code class="java plain">OpenApiFeature();</code><br
clear="none"><code class="java plain">feature.setContactEmail(</code><code
class="java string">"cxf@<a shape="rect" class="external-link"
href="http://apache.org">apache.org</a>"</code><code class="java
plain">);</code><br clear="none"><code class="java
plain">feature.setLicense(</code><code class="java string">"Apache 2.0
License"</code><code class="java plain">);</code><br clear="none"><code
class="java plain">feature.setLicenseUrl(</code><code class="java string">"<a
shape="rect" class="external-link"
href="http://www.apache.org/licenses/LICENSE-2.0.html">http://www.apache.org/licenses/LICENSE-2.0.html</a>"</co
de><code class="java
plain">);          
</code></p></td></tr></tbody></table></div><h1
id="OpenApiFeature(Microprofile)-ConfiguringfromSpring">Configuring from
Spring</h1><div class="table-wrap"><table class="wrapped
confluenceTable"><colgroup span="1"><col span="1"></colgroup><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code class="java
plain"><beans xmlns=</code><code class="java string">"<a shape="rect"
class="external-link" href="http://www.springframework.org/schema/beans"
rel="nofollow">http://www.springframework.org/schema/beans</a>"</code><br
clear="none"><code class="java
spaces">       </code><code class="java
plain">xmlns:xsi=</code><code class="java string">"<a shape="rect"
class="external-link" href="http://www.w3.org/2001/XMLSchema-instance"
rel="nofollow">http://www.w3.org/2001/XMLSchema-instance</a>"</code> <code
class="java plain">xmlns:cxf=</code><code class=
"java string">"<a shape="rect"
href="http://cxf.apache.org/core">http://cxf.apache.org/core</a>"</code><br
clear="none"><code class="java
spaces">       </code><code class="java
plain">xmlns:jaxrs=</code><code class="java string">"<a shape="rect"
href="http://cxf.apache.org/jaxrs">http://cxf.apache.org/jaxrs</a>"</code><br
clear="none"><code class="java
spaces">       </code><code class="java
plain">xsi:schemaLocation="http:</code><code class="java comments">//<a
shape="rect" href="http://cxf.apache.org/core">cxf.apache.org/core</a> <a
shape="rect"
href="http://cxf.apache.org/schemas/core.xsd">http://cxf.apache.org/schemas/core.xsd</a></code><br
clear="none"><code class="java
spaces">                           </code><code
class="java plain">http:</code><code class="java comments">
//<a shape="rect" href="http://cxf.apache.org/jaxrs">cxf.apache.org/jaxrs</a>
<a shape="rect"
href="http://cxf.apache.org/schemas/jaxrs.xsd">http://cxf.apache.org/schemas/jaxrs.xsd</a></code><br
clear="none"><code class="java
spaces">                           </code><code
class="java plain">http:</code><code class="java comments">//<a shape="rect"
class="external-link" href="http://www.springframework.org/schema/beans"
rel="nofollow">www.springframework.org/schema/beans</a> <a shape="rect"
class="external-link"
href="http://www.springframework.org/schema/beans/spring-beans.xsd"
rel="nofollow">http://www.springframework.org/schema/beans/spring-beans.xsd</a>"></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain">... </code><br clear="none"><code class="java
spaces">    </code><
code class="java plain"><!-- JAXRS providers --></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><bean id=</code><code class="java
string">"jsonProvider"</code> <code class="java keyword">class</code><code
class="java plain">=</code><code class="java
string">"com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider"</code> <code
class="java plain">/></code><br clear="none"><code class="java
spaces"> </code> <br clear="none"><code class="java
spaces">    </code><code class="java plain"><!--
Application resources --></code><br clear="none"><code class="java
spaces">    </code><code class="java plain"><bean
id=</code><code class="java string">"sampleResource"</code> <code class="java
keyword">class</code><code class="java plain">=</code><code class="java
string">"demo.jaxrs.openapi.server.Sample"</code> <code class="java
plain">/></code><br clear="none"><code c
lass="java spaces"> </code> <br clear="none"><code class="java
spaces">    </code><code class="java plain"><!-- CXF
OpenApiFeature (Microprofile) -->  </code><br clear="none"><code
class="java spaces">    </code><code class="java
plain"><bean id=</code><code class="java string">"openApiFeature"</code>
<code class="java keyword">class</code><code class="java plain">=</code><code
class="java string">"<code class="java
plain">org.apache.cxf.jaxrs.microprofile.openapi.OpenApiFeatu</code>re"</code><code
class="java plain">></code><br clear="none"><code class="java
spaces">        </code><code
class="java plain"><!-- customize some of the properties --></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"></bean></code><br clear="none"><code class="java
spaces"> </code> <br clear="none"><code class="java spaces
">    </code><code class="java plain">...</code><br
clear="none"> <br clear="none"><code class="java
spaces">    </code><code class="java
plain"><jaxrs:server id=</code><code class="java
string">"sampleServer"</code> <code class="java plain">address=</code><code
class="java string">"/swaggerSample"</code><code class="java
plain">></code><br clear="none"><code class="java
spaces">        </code><code
class="java plain"><jaxrs:serviceBeans></code><br clear="none"><code
class="java
spaces">            </code><code
class="java plain"><ref bean=</code><code class="java
string">"sampleResource"</code> <code class="java plain">/></code><br
clear="none"><code class="java
spaces">        </code><code
class="java plain"></jaxrs:serviceBeans></code><br clear="none"><code
class="java space
s">        </code><code class="java
plain"><jaxrs:providers></code><br clear="none"><code class="java
spaces">            </code><code
class="java plain"><ref bean=</code><code class="java
string">"jsonProvider"</code> <code class="java plain">/></code><br
clear="none"><code class="java
spaces">        </code><code
class="java plain"></jaxrs:providers></code><br clear="none"><code
class="java
spaces">        </code><code
class="java plain"><jaxrs:features></code><br clear="none"><code
class="java
spaces">            </code><code
class="java plain"><ref bean=</code><code class="java
string">"openApiFeature"</code> <code class="java plain">/></code><br
clear="none"><code class="java spaces">     
;   </code><code class="java
plain"></jaxrs:features></code><br clear="none"><code class="java
spaces">    </code><code class="java
plain"></jaxrs:server></code><br clear="none"><code class="java
plain"></beans></code></p></td></tr></tbody></table></div><h1
id="OpenApiFeature(Microprofile)-ConfiguringfromPropertyfiles">Configuring from
Property files</h1><p>It is possible to supply the configuration from the
property files. The default location for a properties file is
"<strong>/swagger.properties</strong>". <strong>OpenApiFeature</strong> will
pick it up if it is available, and the location can be overridden with
a<strong> 'propertiesLocation</strong>' property. </p><p>Note that the
properties, if available, do not override the properties which may have been
set as suggested above from the code or Spring/Blueprint contexts or web.xml.
Instead they complement and serve as the default configuration properties: for
example, if
some properties have been set from the code then the values for the same
properties found in the properties file will not be used.</p><h1
id="OpenApiFeature(Microprofile)-EnablingSwaggerUI">Enabling Swagger
UI</h1><p>Adding a Swagger UI Maven dependency is all what is needed to start
accessing Swagger documents with the help of Swagger UI.</p><p><br
clear="none"></p><div class="table-wrap"><table class="wrapped
confluenceTable"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code class="java plain"><dependency></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><groupId>org.webjars</groupId></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><artifactId>swagger-ui</artifactId></code><br
clear="none"><code class="java spaces">    </code><code
class="java plain"><version></code><code class="java value">3.13<
/code><code class="java plain">.</code><code class="java value">0</code><code
class="java plain"></version></code><br clear="none"><code class="java
plain"></dependency></code></p></td></tr></tbody></table></div><p><br
clear="none"></p><p>For example, let's assume a JAX-RS endpoint is published at
'<span><a shape="rect" class="external-link" href="http://hostport"
rel="nofollow">http://host:port/context/services/</a></span>'.</p><p>Open the
browser and go to '<span><a shape="rect" class="external-link"
href="http://hostport"
rel="nofollow">http://host:port/context/services/</a></span>api-docs/?url=/openapi.json'
which will return a Swagger UI page.</p><p>CXF Services page will also link to
Swagger UI. Go to '<span><a shape="rect" class="external-link"
rel="nofollow"
href="http://hostport">http://host:port/context/services/</a></span>' and
follow a Swagger link which will return a Swagger UI page.</p><p>See <a
shape="rect" class="external-link" href="https://github.c
om/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring"
rel="nofollow">samples/jax_rs/description_openapi_microprofile_spring</a> as
an example.</p><p>To deactivate automatic Swagger UI integration please
set<strong> 'supportSwaggerUi'</strong> property to
"<strong>false</strong>".</p><h2
id="OpenApiFeature(Microprofile)-ConfiguringSwaggerUI">Configuring Swagger
UI</h2><p>The <strong>OpenApiFeature</strong>  has a way to pre-configure
certain  Swagger UI parameters (<a shape="rect" class="external-link"
href="https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md"
rel="nofollow">https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md</a>)
through <strong><span class="blob-code-inner blob-code-marker-addition"><span
class="pl-smi">SwaggerUiConfig</span></span></strong><span
class="blob-code-inner blob-code-marker-addition">. The</span><strong><span
class="blob-code-i
nner blob-code-marker-addition"> </span></strong>way it is implemented is by
passing those parameters as a query string so the Swagger UI could adjust
itself.</p><h1
id="OpenApiFeature(Microprofile)-Samples">Samples</h1><p><span>CXF's
distribution contains the following samples.</span></p><ul><li><span><a
shape="rect" class="external-link"
href="https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/description_openapi_microprofile_spring"
rel="nofollow">samples/jax_rs/description_openapi_microprofile_spring</a>: the
<a shape="rect" class="external-link" rel="nofollow"
href="https://github.com/OAI/OpenAPI-Specification/releases/tag/3.0.0">OpenAPI
v3.0</a> standalone sample using Spring and OpenApiFeature programmatic
configuration<br clear="none"></span></li></ul></div>
</div>
<!-- Content -->
</td>