svn commit: r1065570 - in /websites/production/cxf/content: cache/docs.pageCache docs/openapifeature-microprofile.html

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1065570 - in /websites/production/cxf/content: cache/docs.pageCache docs/openapifeature-microprofile.html

buildbot
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">&lt;dependency&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;artifactId
 &gt;cxf-rt-rs-service-description-microprofile-openapi&lt;/artifactId&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;version&gt;</code><code class="java value">3.4</code><code class="java plain">.</code><code class="java value">0</code><code class="java plain">&lt;/version&gt;</code><br clear="none"><code class="java plain">&lt;/dependency&gt;</code></p></td></tr></tbody></table></div><p>The&#160;<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)-/*&lt;![CDATA[*/div.rbtoc1600052311610{padding:0px;}div.rbtoc1600052311610ul{list-style:disc;margin-left:0px;}div.rbtoc1600052311610li{margin-left:0px;padding-left:0px;}/*]]&gt;*/#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">&lt;dependency&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;</code><br clear="none"><code class="
 java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;artifactId&gt;cxf-rt-rs-service-description-microprofile-openapi&lt;/artifactId&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;version&gt;</code><code class="java value">3.4</code><code class="java plain">.</code><code class="java value">0</code><code class="java plain">&lt;/version&gt;</code><br clear="none"><code class="java plain">&lt;/dependency&gt;</code></p></td></tr></tbody></table></div><p>The&#160;<strong>cxf-rt-rs-service-description-microprofile-openapi</strong> is only available in <strong>3.4.0</strong>. For older releases, please consider&#160;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">&#160;/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>&#160;</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>&#160;<strong>*</strong><strong>*</strong> - the properties are defined in the&#160;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">&#160;<br clear="none"><code class="java plain">...</code><br clear="none">&#160;<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">);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </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">&lt;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">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</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">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</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">&#160;&#160;&#160;&#160;&#160;&#160;&#160;</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">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</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">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</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>"&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">... </code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><
 code class="java plain">&lt;!-- JAXRS providers --&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;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">/&gt;</code><br clear="none"><code class="java spaces">&#160;</code>&#160;<br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;!-- Application resources --&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;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">/&gt;</code><br clear="none"><code c
 lass="java spaces">&#160;</code>&#160;<br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;!-- CXF OpenApiFeature (Microprofile) --&gt;&#160; </code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;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">&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;!-- customize some of the properties --&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;/bean&gt;</code><br clear="none"><code class="java spaces">&#160;</code>&#160;<br clear="none"><code class="java spaces
 ">&#160;&#160;&#160;&#160;</code><code class="java plain">...</code><br clear="none">&#160;<br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;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">&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;jaxrs:serviceBeans&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;ref bean=</code><code class="java string">"sampleResource"</code> <code class="java plain">/&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;/jaxrs:serviceBeans&gt;</code><br clear="none"><code class="java space
 s">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;jaxrs:providers&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;ref bean=</code><code class="java string">"jsonProvider"</code> <code class="java plain">/&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;/jaxrs:providers&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;jaxrs:features&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;ref bean=</code><code class="java string">"openApiFeature"</code> <code class="java plain">/&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;&#160
 ;&#160;&#160;&#160;</code><code class="java plain">&lt;/jaxrs:features&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;/jaxrs:server&gt;</code><br clear="none"><code class="java plain">&lt;/beans&gt;</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.&#160;</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">&lt;dependency&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;groupId&gt;org.webjars&lt;/groupId&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;artifactId&gt;swagger-ui&lt;/artifactId&gt;</code><br clear="none"><code class="java spaces">&#160;&#160;&#160;&#160;</code><code class="java plain">&lt;version&gt;</code><code class="java value">3.13<
 /code><code class="java plain">.</code><code class="java value">0</code><code class="java plain">&lt;/version&gt;</code><br clear="none"><code class="java plain">&lt;/dependency&gt;</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"><a href="http://host:port/context/services/">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"><a href="http://host:port/context/services/">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&#160;'<span><a shape="rect" class="external-link" rel="nofollow" href="http://hostport"><a href="http://host:port/context/services/">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>&#160; has a way to pre-configure certain&#160; 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>