diff --git a/docs/core-properties.html b/docs/core-properties.html index 93f8718..b5577ab 100644 --- a/docs/core-properties.html +++ b/docs/core-properties.html @@ -56,37 +56,37 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-consumes-media-type</p></td> @@ -96,7 +96,7 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-produces-media-type</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong>/</strong></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The default produces media type.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The default produces media type.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.cache.disabled</p></td> @@ -124,59 +124,54 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When true, automatically adds @ControllerAdvice responses to all the generated responses.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.groups.enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To disable the springdoc-openapi groups.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].group</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The group name</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The group name</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].display-name</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The display name of the group.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The display name of the group.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan for a group (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">``</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.webjars.prefix</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/webjars</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>, To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.resolve-schema-properties</p></td> @@ -224,14 +219,9 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To make spring security login-endpoint visible.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Pre-loading setting to load OpenAPI on application startup.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-locales</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of locales to load OpenAPI on application startup.(comma separated) If not specified, it will preload with the default Locale.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of locales to load OpenAPI on application startup (comma separated). If not specified, it will preload with the default Locale.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.writer-with-order-by-keys</p></td> @@ -266,7 +256,7 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-kotlin</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolproperty resolver on @Schema (extensionean</code>. To enable Kotlin support.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable Kotlin support.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-hateoas</p></td> @@ -280,8 +270,8 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.version</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_0</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To Choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_1</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-flat-param-object</p></td> @@ -318,24 +308,32 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Adjust indentation when parsing the <code>@Operation</code> annotation in Kotlin.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.allowed-locales</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of allowed locales for OpenAPI (comma separated, for example <code>US,fr-CA</code>).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-extra-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable default support for extra Schemas, from <code>java.time</code> package like <code>LocalTime</code>, <code>Duration</code>, but also other Java classes like <code>java.util.Locale</code> or <code>java.nio.charset.Charset</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.explicit-object-schema</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Set explicit-object-schema to <code>true</code> to always include <code>type: object</code> in the schema, or to <code>false</code> to omit <code>type: object</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.use-arbitrary-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When set to <code>true</code>, schemas without a defined type will be deserialized as an <code>ArbitrarySchema</code> (with no type), instead of an <code>ObjectSchema</code> with <code>type: object</code>.</p></td> +</tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:18:14 +0200 +Last updated 2025-04-21 22:29:56 +0200 </div> </div> </div> diff --git a/docs/demos.html b/docs/demos.html index 1dc997f..ecfb903 100644 --- a/docs/demos.html +++ b/docs/demos.html @@ -71,25 +71,24 @@ <h3 id="_source_code_of_the_demo_applications"><a class="anchor" href="#_source_ </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:18:55 +0200 +Last updated 2024-10-06 14:22:55 +0200 </div> </div> </div> diff --git a/docs/faq.html b/docs/faq.html index fbfb439..0f09653 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -230,7 +230,7 @@ <h3 id="_how_can_i_disable_the_try_it_out_button"><a class="anchor" href="#_how_ </div> <div class="listingblock"> <div class="content"> -<pre>springdoc.swagger-ui.supportedSubmitMethods="get", "put", "post", "delete", "options", "head", "patch", "trace"</pre> +<pre>springdoc.swagger-ui.supportedSubmitMethods=get, put, post, delete, options, head, patch, trace</pre> </div> </div> </div> @@ -298,15 +298,13 @@ <h3 id="_how_can_i_set_swagger_properties_programmatically"><a class="anchor" hr </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">--- -@Bean +<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">@Bean @Primary fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties { config.showCommonExtensions = true config.queryConfigEnabled = true return config } ---- </code></pre> </div> </div> @@ -579,7 +577,7 @@ <h3 id="_how_can_i_deploy_springdoc_openapi_starter_webmvc_ui_behind_a_reverse_p <p>If this is not enough, Spring Framework provides a <code>ForwardedHeaderFilter</code>. You can register it as a Servlet Filter in your application by setting server.forward-headers-strategy is set to FRAMEWORK.</p> </li> <li> -<p>Since Spring Boot 3.2, this is the new property to handle reverse proxy headers:</p> +<p>Since Spring Boot 2.2, this is the new property to handle reverse proxy headers:</p> </li> </ul> </div> @@ -604,6 +602,34 @@ <h3 id="_how_can_i_deploy_springdoc_openapi_starter_webmvc_ui_behind_a_reverse_p </code></pre> </div> </div> +<div class="ulist"> +<ul> +<li> +<p>If you need to manually adjust the URL displayed in the Swagger UI, implement the <code>ServerBaseUrlCustomizer</code> interface. This might be necessary to remove the port number, for example.</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">@Bean +public class CustomServerBaseUrlCustomizer implements ServerBaseUrlCustomizer { + @Override + public String customize(String serverBaseUrl) { + try { + URL url = new URL(serverBaseUrl); + if (url.getHost().contains(".com")) { + serverBaseUrl = new URL(url.getProtocol(),url.getHost(),url.getFile()).toString(); + } + } catch (MalformedURLException ex) { + // nothing we can do + } + + return serverBaseUrl; + } +} +</code></pre> +</div> +</div> </div> <div class="sect2"> <h3 id="_is_jsonview_annotations_in_spring_mvc_apis_supported"><a class="anchor" href="#_is_jsonview_annotations_in_spring_mvc_apis_supported"></a>Is <code>@JsonView</code> annotations in Spring MVC APIs supported?</h3> @@ -642,7 +668,7 @@ <h3 id="_how_can_i_test_the_swagger_ui"><a class="anchor" href="#_how_can_i_test <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java</a></p> </li> </ul> </div> @@ -662,7 +688,7 @@ <h3 id="_how_can_i_customise_the_openapi_object"><a class="anchor" href="#_how_c <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/app39/SpringDocApp39Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p> </li> </ul> </div> @@ -1241,8 +1267,40 @@ <h3 id="_is_file_upload_supported"><a class="anchor" href="#_is_file_upload_supp <li> <p>The library supports the main file types: <code>MultipartFile</code>, <code>@RequestPart</code>, <code>FilePart</code></p> </li> +<li> +<p>You can upload a file as follows:</p> +</li> </ul> </div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java"><span class="fold-block hide-when-folded">import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Encoding; +import io.swagger.v3.oas.annotations.parameters.RequestBody; + +</span><span class="fold-block">@PostMapping(value = "/upload", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity<?> upload(@Parameter(description = "file") final MultipartFile file) { + return null; +} + +@PostMapping(value = "/uploadFileWithQuery", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity<?> uploadFileWithQuery(@Parameter(description = "file") @RequestPart("file") final MultipartFile file, + @Parameter(description = "An extra query parameter") @RequestParam String name) { + return null; +} + +@PostMapping(value = "/uploadFileWithJson", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}, produces = { + MediaType.APPLICATION_JSON_VALUE}) +public ResponseEntity<?> uploadFileWithJson( + @RequestBody(content = @Content(encoding = @Encoding(name = "jsonRequest", contentType = MediaType.APPLICATION_JSON_VALUE))) + @Parameter(description = "An extra JSON payload sent with file") @RequestPart("jsonRequest") final JsonRequest jsonRequest, + @RequestPart("file") final MultipartFile file) { + return null; +} +</span></code></pre> +</div> +</div> </div> <div class="sect2"> <h3 id="_can_i_use_parameter_inside_operation_annotation"><a class="anchor" href="#_can_i_use_parameter_inside_operation_annotation"></a>Can I use <code>@Parameter</code> inside <code>@Operation</code> annotation?</h3> @@ -1317,11 +1375,6 @@ <h3 id="_what_is_a_proper_way_to_set_up_swagger_ui_to_use_provided_spec_yml"><a ObjectMapperProvider objectMapperProvider(SpringDocConfigProperties springDocConfigProperties){ return new ObjectMapperProvider(springDocConfigProperties); } - -@Bean -SpringDocUIConfiguration SpringDocUIConfiguration(Optional<SwaggerUiConfigProperties> optionalSwaggerUiConfigProperties){ - return new SpringDocUIConfiguration(optionalSwaggerUiConfigProperties); -} </code></pre> </div> </div> @@ -1453,20 +1506,25 @@ <h3 id="_how_can_i_use_the_last_springdoc_openapi_snapshot"><a class="anchor" hr <p>For testing purposes only, you can test temporarily using the last <code>springdoc-openapi</code> SNAPSHOT</p> </li> <li> -<p>To achieve that, you can on your pom.xml or your settings.xml the following section:</p> +<p>To achieve that, configure your pom.xml file with the following <code><repositories></code> section:</p> </li> </ul> </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> - <repository> - <id>snapshots-repo</id> - <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> - <releases><enabled>false</enabled></releases> - <snapshots><enabled>true</enabled></snapshots> - </repository> - </repositories></code></pre> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> + <repository> + <name>Central Portal Snapshots</name> + <id>central-portal-snapshots</id> + <url>https://central.sonatype.com/repository/maven-snapshots/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories></code></pre> </div> </div> </div> @@ -1537,7 +1595,7 @@ <h3 id="_how_can_i_enable_csrf_support"><a class="anchor" href="#_how_can_i_enab <div class="ulist"> <ul> <li> -<p><a href="https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor" target="_blank" rel="noopener">https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor</a></p> +<p><a href="https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor" target="_blank" rel="noopener">https://github.com/swagger-api/swagger-ui/blob/main/docs/usage/configuration.md#requestinterceptor</a></p> </li> </ul> </div> @@ -1844,12 +1902,115 @@ <h3 id="_is_graalvm_supported"><a class="anchor" href="#_is_graalvm_supported">< </div> </div> <div class="sect2"> +<h3 id="_how_to_integrate_open_api_3_with_spring_project_not_spring_boot"><a class="anchor" href="#_how_to_integrate_open_api_3_with_spring_project_not_spring_boot"></a>How to Integrate Open API 3 with Spring project (not Spring Boot)?</h3> +<div class="paragraph"> +<p>When your application is using spring without (spring-boot), you need to add beans and auto-configuration that are natively provided in spring-boot.</p> +</div> +<div class="paragraph"> +<p>For example, lets assume you want load the swagger-ui in spring-mvc application:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>You mainly, need to add the springdoc-openapi module</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-xml" data-lang="xml"><dependency> + <groupId>org.springdoc</groupId> + <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> + <version>last.version</version> +</dependency></code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>If you don’t have the spring-boot and spring-boot-autoconfigure dependencies, you need to add them. And pay attention to the compatibility matrix, between you spring.version and spring-boot.version. For example, in this case (spring.version=5.1.12.RELEASE):</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-autoconfigure</artifactId> + <version>3.3.3</version> + </dependency></code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>Scan for the <code>springdoc-openapi</code> 'auto-configuration classes that spring-boot automatically loads for you.</p> +</li> +<li> +<p>Depending on your module, you can find them on the file: <code>spring.factories</code> of each <code>springdoc-openapi</code> module.</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">@Configuration +@EnableWebMvc +public class WebConfig implements WebApplicationInitializer { + + @Override + public void onStartup(ServletContext servletContext) { + WebApplicationContext context = getContext(); + servletContext.addListener(new ContextLoaderListener(context)); + ServletRegistration.Dynamic dispatcher = servletContext.addServlet("RestServlet", + new DispatcherServlet(context)); + dispatcher.setLoadOnStartup(1); + dispatcher.addMapping("/*"); + } + + private AnnotationConfigWebApplicationContext getContext() { + AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + context.register(this.getClass(), + SpringDocConfiguration.class, + SpringDocConfigProperties.class, + SpringDocSpecPropertiesConfiguration.class, + SpringDocWebMvcConfiguration.class, + MultipleOpenApiSupportConfiguration.class, + SwaggerConfig.class, + SwaggerUiConfigProperties.class, + SwaggerUiOAuthProperties.class, + ); + return context; + } +} +</code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>Depending on your module, you can find them on the file: <code>org.springframework.boot.autoconfigure.AutoConfiguration.imports</code> of each <code>springdoc-openapi</code> module.</p> +</li> +<li> +<p>For groups usage make sure your <code>GroupedOpenApi</code> Beans are scanned.</p> +</li> +<li> +<p>If additionally, you are using custom <code>context path</code>: <code>/my-servlet-path</code>. Make sure you declare the following property:</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre>spring.mvc.servlet.path=/my-servlet-path</pre> +</div> +</div> +</div> +<div class="sect2"> <h3 id="_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot"><a class="anchor" href="#_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot"></a>What is the compatibility matrix of <code>springdoc-openapi</code> with <code>spring-boot</code> ?</h3> <div class="paragraph"> <p><code>springdoc-openapi 2.x</code> is compatible with <code>spring-boot 3</code>.</p> </div> <div class="paragraph"> -<p>In general, <strong>you should only pick the last stable version as per today 2.6.0.</strong></p> +<p>In general, <strong>you should only pick the last stable version as per today 2.8.8.</strong></p> </div> <div class="paragraph"> <p>More precisely, this the exhaustive list of spring-boot versions against which <code>springdoc-openapi</code> has been built:</p> @@ -1859,16 +2020,30 @@ <h3 id="_what_is_the_compatibility_matrix_of_springdoc_openapi_with_spring_boot" <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<thead> +<tbody> <tr> -<th class="tableblock halign-left valign-top">spring-boot Versions</th> -<th class="tableblock halign-left valign-top">Minimum springdoc-openapi Versions</th> +<td class="tableblock halign-left valign-top"><p class="tableblock">Spring Boot Versions</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Springdoc OpenAPI Versions</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.4.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.7.x</code> - <code>2.8.x</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.3.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.6.x</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.2.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.x</code> - <code>2.5.x</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.1.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.2.x</code></p></td> </tr> -</thead> -<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.0.x</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.0.x</code>+</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.0.x</code> - <code>2.1.x</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.7.x</code>, <code>1.5.x</code></p></td> @@ -1944,25 +2119,13 @@ <h3 id="_some_parameters_are_not_generated_in_the_resulting_openapi_spec"><a cla </plugin></code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:20:05 +0200 +Last updated 2025-05-04 16:36:11 +0200 </div> </div> </div> diff --git a/docs/favicon.ico b/docs/favicon.ico index 0dfbcd7..45468e6 100644 Binary files a/docs/favicon.ico and b/docs/favicon.ico differ diff --git a/docs/features.html b/docs/features.html index d648c6f..dfa5983 100644 --- a/docs/features.html +++ b/docs/features.html @@ -143,19 +143,19 @@ <h3 id="_spring_webfluxwebmvc_fn_with_functional_endpoints"><a class="anchor" hr <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/HelloRouter.java">HelloRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/HelloRouter.java">HelloRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/quotes/QuotesRouter.java">QuotesRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/quotes/QuotesRouter.java">QuotesRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/book/BookRouter.java">BookRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/book/BookRouter.java">BookRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/employee/EmployeeRouter.java">EmployeeRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/employee/EmployeeRouter.java">EmployeeRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/position/PositionRouter.java">PositionRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/position/PositionRouter.java">PositionRouter</a></p> </li> </ul> </div> @@ -165,7 +165,7 @@ <h3 id="_spring_webfluxwebmvc_fn_with_functional_endpoints"><a class="anchor" hr <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/2.x/demo-spring-boot-3-webflux-functional">Sample webflux application using functional DSL</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-boot-3-webflux-functional">Sample webflux application using functional DSL</a></p> </li> </ul> </div> @@ -302,7 +302,7 @@ <h3 id="_spring_webfluxwebmvc_fn_with_functional_endpoints"><a class="anchor" hr <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/springdoc-openapi-spring-boot-2-webflux-functional" target="_blank" rel="noopener">Sample application with Functional Endpoints documentation</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-boot-3-webflux-functional" target="_blank" rel="noopener">Sample application with Functional Endpoints documentation</a></p> </li> </ul> </div> @@ -312,7 +312,7 @@ <h3 id="_spring_webfluxwebmvc_fn_with_functional_endpoints"><a class="anchor" hr <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/tree/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api" target="_blank" rel="noopener">Sample code with Functional Endpoints documentation</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/tree/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api" target="_blank" rel="noopener">Sample code with Functional Endpoints documentation</a></p> </li> </ul> </div> @@ -335,25 +335,24 @@ <h3 id="_integration_with_wildfly"><a class="anchor" href="#_integration_with_wi </dependency></code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:17:16 +0200 +Last updated 2024-11-26 16:21:53 +0100 </div> </div> </div> diff --git a/docs/getting-started.html b/docs/getting-started.html index 42da390..9e1e736 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -40,7 +40,7 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>Getting S <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -69,7 +69,7 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>Getting S </div> </li> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> </ul> </div> @@ -91,24 +91,23 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>Getting S springdoc.swagger-ui.path=/swagger-ui.html</code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:16:47 +0200 +Last updated 2025-05-04 17:47:09 +0200 </div> </div> </div> diff --git a/docs/img/LVM_Versicherung_2010_logo.svg.png b/docs/img/LVM_Versicherung_2010_logo.svg.png new file mode 100644 index 0000000..5aac7e9 Binary files /dev/null and b/docs/img/LVM_Versicherung_2010_logo.svg.png differ diff --git a/docs/img/gdnext.png b/docs/img/gdnext.png new file mode 100644 index 0000000..1523834 Binary files /dev/null and b/docs/img/gdnext.png differ diff --git a/docs/img/springdoc/springdoc-favicon.svg b/docs/img/springdoc/springdoc-favicon.svg new file mode 100644 index 0000000..21eeef6 --- /dev/null +++ b/docs/img/springdoc/springdoc-favicon.svg @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + - /* + - * + - * * + - * * * Copyright 2019-2022 the original author or authors. + - * * * + - * * * Licensed under the Apache License, Version 2.0 (the "License"); + - * * * you may not use this file except in compliance with the License. + - * * * You may obtain a copy of the License at + - * * * + - * * * https://www.apache.org/licenses/LICENSE-2.0 + - * * * + - * * * Unless required by applicable law or agreed to in writing, software + - * * * distributed under the License is distributed on an "AS IS" BASIS, + - * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - * * * See the License for the specific language governing permissions and + - * * * limitations under the License. + - * * + - * + - */ + --> + +<svg + version="1.1" + width="100" + height="100" + viewBox="0 -50 3000 2999.9999" + xml:space="preserve" + id="svg18" + sodipodi:docname="springdoc-logo-transparent.svg" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview18" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050" + inkscape:zoom="2.985" + inkscape:cx="0.83752094" + inkscape:cy="39.698492" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="svg18" + showgrid="false" /> <desc + id="desc1">Created with Fabric.js 4.6.0</desc> <defs + id="defs1"><inkscape:path-effect + effect="fillet_chamfer" + id="path-effect17" + is_visible="true" + lpeversion="1" + nodesatellites_param="F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1" + radius="600" + unit="px" + method="auto" + mode="F" + chamfer_steps="1" + flexible="false" + use_knot_distance="true" + apply_no_radius="true" + apply_with_radius="true" + only_selected="false" + hide_knots="false" /> </defs> <path + style="fill:#ffffff;stroke-width:0;stroke-dasharray:none;paint-order:markers fill stroke" + id="rect17" + width="3000" + height="3000" + x="-2.5000001e-05" + y="-50.000027" + ry="11.308664" + inkscape:path-effect="#path-effect17" + sodipodi:type="rect" + d="m 599.99997,-50.000027 1800.00003,0 A 600,600 45 0 1 3000,549.99997 V 2350 a 600,600 135 0 1 -600,600 H 599.99997 A 600,600 45 0 1 -2.5000001e-5,2350 V 549.99997 A 600,600 135 0 1 599.99997,-50.000027 Z" + inkscape:label="background" /><g + id="g1" + inkscape:label="logo" + transform="matrix(1.2440529,0,0,1.2440868,381.90959,312.2043)"><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="M 509.75782,1059.0163 H 0.78364 l 0.3014,7.4446 0.87406,14.3467 0.36168,6.1184 1.38644,16.577 0.33154,3.7072 1.98924,18.3251 0.18084,1.7783 2.59204,19.7115 c 5.8773,40.8096 14.64804,81.0164 26.34236,120.4998 l 0.18084,0.5123 6.08828,19.6212 0.33154,1.085 5.60604,16.6674 1.47686,4.1895 5.24436,14.4069 2.47148,6.5103 4.64156,12.056 3.67708,8.9515 3.88806,9.3133 5.15394,11.3326 3.014,6.9021 6.3294,13.563 2.1098,4.3402 7.62542,15.4015 1.2056,2.3509 9.31326,17.6621 1.98924,3.4359 436.1258,-263.1825 c -17.01331,-35.7916 -27.76813,-74.2338 -31.7977,-113.6579 z m -484.92246,233.5549 0.1507,0.4521 16.4263,-5.1539 z" + stroke-linecap="round" + id="path1" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 634.83882,1292.8123 -359.90174,359.9018 5.5759,5.1238 15.3714,13.6534 12.056,10.3681 3.3154,2.7428 13.98496,11.2723 1.8084,1.4166 15.40154,11.8149 c 0.21098,0.1206 0.39182,0.2713 0.57266,0.422 l 67.09164,45.3305 2.4112,1.4769 13.20132,7.8062 8.10766,4.6115 7.6857,4.31 14.0151,7.5651 1.9591,1.0248 39.66424,19.2594 193.67964,-470.4854 c -19.95126,-10.6449 -38.80893,-23.2234 -56.30152,-37.5544 z" + stroke-linecap="round" + id="path2" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 597.5255,1257.0964 -11.18194,-13.1712 -9.28312,-11.9957 -9.9462,-14.0754 -9.31326,-14.5274 -435.28188,262.1878 22.42416,35.2035 1.8084,2.6524 0.0904,0.1808 23.38864,32.9732 1.02476,1.3864 10.57914,13.774 12.68894,15.7632 2.7126,3.436 10.3983,12.2669 4.58128,5.2143 9.01186,10.338 5.1238,5.5457 2.32078,2.5017 6.90206,7.2336 2.74274,2.8331 12.056,12.3273 359.05782,-359.0578 -11.7546,-12.5684 z" + stroke-linecap="round" + id="path3" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1073.4662,1292.6315 -11.9957,9.3132 0.9042,1.507 261.7961,434.5586 35.8063,-24.6546 c 25.5888,-18.8977 50.1228,-39.1518 73.4813,-60.7321 l -358.5756,-358.5454 z" + stroke-linecap="round" + id="path4" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.0469,1758.6863 0.6028,-0.3315 -0.03,-0.03 -0.5727,0.3316 z m -0.2411,0.1808 h 0.03 z" + stroke-linecap="round" + id="path5" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.6497,1758.1739 3.436,-1.718 -0.06,-0.1205 -3.3757,2.0194 z m -0.7535,0.6028 0.1808,-0.09 z" + stroke-linecap="round" + id="path6" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8058,1758.837 h 0.03 l -0.6329,-1.0549 z m 0.2411,-0.1808 0.6028,-0.3014 z m -0.3315,0.1808 -0.1809,0.09 0.1809,-0.06 z" + stroke-linecap="round" + id="path7" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.7154,1758.8671 0.09,-0.03 h -0.03 z" + stroke-linecap="round" + id="path8" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8962,1758.7767 -0.09,0.06 0.2712,-0.1808 z m 0.7535,-0.3918 3.4058,-1.929 z m 3.4058,-1.929 -0.06,-0.1205 z m -4.6114,2.5921 h 0.03 z" + stroke-linecap="round" + id="path9" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.5647,1758.9877 -0.09,0.06 z" + stroke-linecap="round" + id="path10" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1286.1039,1741.5969 -253.2362,-420.1817 -15.0399,8.3789 -15.4317,7.746 c -46.44572,22.0926 -97.23162,33.5759 -148.65046,33.6362 -33.48554,0 -66.79024,-4.8525 -98.88934,-14.437 l -16.2756,-5.7266 -16.24546,-5.7568 -193.31796,469.5209 1.41658,0.5124 1.47686,0.5727 h 0.0301 l 0.39182,0.1808 37.10234,14.196 c 56.48236,19.9225 114.89368,33.9075 174.26948,41.7137 l 6.96234,0.9344 21.03772,2.2906 3.40582,0.3014 16.8784,1.4166 5.7266,0.3617 14.7686,0.8439 9.042,0.3617 11.7546,0.4219 20.97744,0.2411 c 47.50531,0 94.92825,-3.9533 141.77856,-11.8148 l 2.38106,-0.3316 14.8892,-2.7126 8.62,-1.6275 8.7105,-1.8386 14.4973,-3.1948 2.6222,-0.6028 c 71.2753,-16.6293 140.1311,-42.3059 204.8917,-76.4049 v -0.03 l 12.5684,-6.8719 25.5286,-14.4069 -0.422,-1.2056 0.633,1.085 0.8138,-0.4822 3.3455,-2.0194 z m -651.0541,-984.7642 11.99572,-9.28312 -0.9042,-1.507 -261.7659,-434.40782 -35.89674,24.74494 c -25.3176,18.62652 -49.82142,38.85046 -73.3909,60.64168 l 358.57558,358.39474 z" + stroke-linecap="round" + id="path11" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 250.25242,420.71145 -23.84074,24.89564 c -26.49306,28.66314 -50.69548,58.56202 -72.54698,89.87748 l -3.13456,4.49086 -7.29388,10.75998 -7.41444,11.3025 -2.68246,4.12918 C 52.417402,693.31024 6.6665831,839.64214 0.7535,990.23689 L 0.3014,1007.4468 0,1024.6568 h 507.79872 l 0.81378,-17.21 0.96448,-17.20991 c 6.66157,-67.86765 33.31549,-132.23153 76.58574,-184.93904 3.43596,-4.40044 7.6857,-8.52962 11.57376,-12.8095 l 11.54362,-12.77936 z m 1047.75678,-126.04548 -2.1098,-1.26588 -13.4725,-8.01724 -7.8666,-4.49086 -7.9268,-4.40044 -13.774,-7.44458 -2.1701,-1.14532 c -29.718,-15.49196 -60.3101,-29.29608 -91.5653,-41.32194 l -2.4112,-0.93434 -20.676,-7.44458 c -55.4576,-19.38002 -112.814,-32.97316 -171.1048,-40.59858 l -7.14318,-0.96448 -7.14318,-0.78364 -13.77398,-1.507 -3.85792,-0.33154 -16.4263,-1.38644 -20.67604,-1.26588 -7.47472,-0.3014 v 509.03446 c 26.13138,2.7126 52.02164,8.25836 77.12826,16.78798 L 1340.3258,322.45505 c -13.8641,-9.68615 -28.0162,-18.95339 -42.4371,-27.78908 z" + stroke-linecap="round" + id="path12" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 422.44224,307.83715 -8.8913,-14.7686 z m -9.13242,-14.79874 0.0603,0.0904 z m 423.73826,-122.18756 -17.20994,0.36168 c -35.92688,1.44672 -71.76334,5.1238 -107.32854,11.06138 l -2.35092,0.39182 -14.88916,2.7126 -8.62004,1.62756 -8.7406,1.83854 -14.4672,3.1647 -2.62218,0.57266 c -71.2811,16.63728 -140.12086,42.31656 -204.89172,76.43504 l -42.52754,24.02158 0.0603,0.0904 262.09744,435.16132 15.03986,-8.37892 15.40154,-7.77612 c 35.77618,-17.05924 74.23482,-27.84936 113.68808,-31.85798 l 17.20994,-1.38644 17.20994,-0.57266 V 170.48917 c -5.75674,0 -11.48334,0.24112 -17.20994,0.33154 z" + stroke-linecap="round" + id="path13" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1707.4611,982.73203 -0.8137,-13.68356 -0.4521,-6.84178 -1.6577,-20.25408 -1.718,-17.96344 -0.1809,-1.44672 -0.09,-0.69322 -2.592,-19.34988 c -0.03,-0.18084 -0.03,-0.42196 -0.09,-0.6028 -5.8472,-40.59858 -14.6179,-80.71492 -26.252,-120.07776 l -0.2411,-0.7535 -5.6362,-18.29498 -0.7836,-2.4112 -5.5156,-16.4263 -1.718,-4.43058 -5.154,-14.1658 -2.592,-6.90206 -4.5511,-11.66418 -3.7675,-9.1927 -3.7977,-9.042 -5.0635,-11.54362 -2.9236,-6.51024 -6.4198,-13.7137 -1.9892,-4.15932 -7.7159,-15.61252 -10.0667,-19.38002 c -0.1206,-0.18084 -0.211,-0.42196 -0.3316,-0.6028 -14.7686,-27.126 -30.9839,-53.46836 -48.5857,-78.84624 L 1181.91,913.16891 c 8.4693,24.98606 14.0753,50.84618 16.7578,77.09812 h 509.0646 z" + stroke-linecap="round" + id="path14" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1200.6872,1024.717 -0.8138,17.21 -0.9645,17.2099 c -6.5404,66.1272 -32.0689,130.8679 -76.5556,184.939 -3.4359,4.4005 -7.6857,8.5297 -11.5737,12.8095 l -11.5437,12.7794 359.0579,359.0578 12.056,-12.4478 12.056,-12.4478 c 26.5834,-28.7536 50.8461,-58.8936 72.7278,-90.1789 l 2.5619,-3.6771 7.8967,-11.6039 6.8116,-10.4284 3.436,-5.0937 c 82.3424,-129.1499 126.4071,-275.8714 132.3447,-423.7382 l 0.4521,-17.21 0.3014,-17.2099 h -508.2508 z" + stroke-linecap="round" + id="path15" /><path + style="fill:#424143;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1859.3065,19.66861 c -92.8915,-92.89148 -243.5312,-92.89148 -336.4227,0 -74.1143,74.11426 -88.9432,184.87876 -44.7881,273.85204 L 959.89872,811.71767 c -88.97328,-44.12496 -199.76792,-29.32622 -273.85204,44.78804 -92.79973,92.95408 -92.79973,243.49869 0,336.45279 92.96237,92.7914 243.50706,92.7779 336.45282,-0.03 74.1143,-74.1143 88.8829,-184.8788 44.788,-273.85205 l 518.3478,-518.34772 c 88.9732,44.12496 199.7679,29.32622 273.852,-44.78804 92.9216,-92.86134 92.9216,-243.50106 0,-336.39254 z" + stroke-linecap="round" + id="path16" /></g></svg> diff --git a/docs/img/springdoc/springdoc-logo.svg b/docs/img/springdoc/springdoc-logo.svg new file mode 100644 index 0000000..f3f7bb8 --- /dev/null +++ b/docs/img/springdoc/springdoc-logo.svg @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + - /* + - * + - * * + - * * * Copyright 2019-2022 the original author or authors. + - * * * + - * * * Licensed under the Apache License, Version 2.0 (the "License"); + - * * * you may not use this file except in compliance with the License. + - * * * You may obtain a copy of the License at + - * * * + - * * * https://www.apache.org/licenses/LICENSE-2.0 + - * * * + - * * * Unless required by applicable law or agreed to in writing, software + - * * * distributed under the License is distributed on an "AS IS" BASIS, + - * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - * * * See the License for the specific language governing permissions and + - * * * limitations under the License. + - * * + - * + - */ + --> + +<svg + version="1.1" + width="100" + height="100" + viewBox="0 -50 3000 2999.9999" + xml:space="preserve" + id="svg18" + sodipodi:docname="springdoc-logo-transparent.svg" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview18" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050" + inkscape:zoom="5.97" + inkscape:cx="43.718593" + inkscape:cy="55.360134" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="svg18" + showgrid="false" /> <desc + id="desc1">Created with Fabric.js 4.6.0</desc> <defs + id="defs1"> </defs> <g + id="g1" + inkscape:label="logo" + transform="matrix(1.555066,0,0,1.5551086,4.2925699e-5,27.755431)"><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="M 509.75782,1059.0163 H 0.78364 l 0.3014,7.4446 0.87406,14.3467 0.36168,6.1184 1.38644,16.577 0.33154,3.7072 1.98924,18.3251 0.18084,1.7783 2.59204,19.7115 c 5.8773,40.8096 14.64804,81.0164 26.34236,120.4998 l 0.18084,0.5123 6.08828,19.6212 0.33154,1.085 5.60604,16.6674 1.47686,4.1895 5.24436,14.4069 2.47148,6.5103 4.64156,12.056 3.67708,8.9515 3.88806,9.3133 5.15394,11.3326 3.014,6.9021 6.3294,13.563 2.1098,4.3402 7.62542,15.4015 1.2056,2.3509 9.31326,17.6621 1.98924,3.4359 436.1258,-263.1825 c -17.01331,-35.7916 -27.76813,-74.2338 -31.7977,-113.6579 z m -484.92246,233.5549 0.1507,0.4521 16.4263,-5.1539 z" + stroke-linecap="round" + id="path1" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 634.83882,1292.8123 -359.90174,359.9018 5.5759,5.1238 15.3714,13.6534 12.056,10.3681 3.3154,2.7428 13.98496,11.2723 1.8084,1.4166 15.40154,11.8149 c 0.21098,0.1206 0.39182,0.2713 0.57266,0.422 l 67.09164,45.3305 2.4112,1.4769 13.20132,7.8062 8.10766,4.6115 7.6857,4.31 14.0151,7.5651 1.9591,1.0248 39.66424,19.2594 193.67964,-470.4854 c -19.95126,-10.6449 -38.80893,-23.2234 -56.30152,-37.5544 z" + stroke-linecap="round" + id="path2" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 597.5255,1257.0964 -11.18194,-13.1712 -9.28312,-11.9957 -9.9462,-14.0754 -9.31326,-14.5274 -435.28188,262.1878 22.42416,35.2035 1.8084,2.6524 0.0904,0.1808 23.38864,32.9732 1.02476,1.3864 10.57914,13.774 12.68894,15.7632 2.7126,3.436 10.3983,12.2669 4.58128,5.2143 9.01186,10.338 5.1238,5.5457 2.32078,2.5017 6.90206,7.2336 2.74274,2.8331 12.056,12.3273 359.05782,-359.0578 -11.7546,-12.5684 z" + stroke-linecap="round" + id="path3" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1073.4662,1292.6315 -11.9957,9.3132 0.9042,1.507 261.7961,434.5586 35.8063,-24.6546 c 25.5888,-18.8977 50.1228,-39.1518 73.4813,-60.7321 l -358.5756,-358.5454 z" + stroke-linecap="round" + id="path4" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.0469,1758.6863 0.6028,-0.3315 -0.03,-0.03 -0.5727,0.3316 z m -0.2411,0.1808 h 0.03 z" + stroke-linecap="round" + id="path5" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.6497,1758.1739 3.436,-1.718 -0.06,-0.1205 -3.3757,2.0194 z m -0.7535,0.6028 0.1808,-0.09 z" + stroke-linecap="round" + id="path6" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8058,1758.837 h 0.03 l -0.6329,-1.0549 z m 0.2411,-0.1808 0.6028,-0.3014 z m -0.3315,0.1808 -0.1809,0.09 0.1809,-0.06 z" + stroke-linecap="round" + id="path7" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.7154,1758.8671 0.09,-0.03 h -0.03 z" + stroke-linecap="round" + id="path8" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8962,1758.7767 -0.09,0.06 0.2712,-0.1808 z m 0.7535,-0.3918 3.4058,-1.929 z m 3.4058,-1.929 -0.06,-0.1205 z m -4.6114,2.5921 h 0.03 z" + stroke-linecap="round" + id="path9" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.5647,1758.9877 -0.09,0.06 z" + stroke-linecap="round" + id="path10" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1286.1039,1741.5969 -253.2362,-420.1817 -15.0399,8.3789 -15.4317,7.746 c -46.44572,22.0926 -97.23162,33.5759 -148.65046,33.6362 -33.48554,0 -66.79024,-4.8525 -98.88934,-14.437 l -16.2756,-5.7266 -16.24546,-5.7568 -193.31796,469.5209 1.41658,0.5124 1.47686,0.5727 h 0.0301 l 0.39182,0.1808 37.10234,14.196 c 56.48236,19.9225 114.89368,33.9075 174.26948,41.7137 l 6.96234,0.9344 21.03772,2.2906 3.40582,0.3014 16.8784,1.4166 5.7266,0.3617 14.7686,0.8439 9.042,0.3617 11.7546,0.4219 20.97744,0.2411 c 47.50531,0 94.92825,-3.9533 141.77856,-11.8148 l 2.38106,-0.3316 14.8892,-2.7126 8.62,-1.6275 8.7105,-1.8386 14.4973,-3.1948 2.6222,-0.6028 c 71.2753,-16.6293 140.1311,-42.3059 204.8917,-76.4049 v -0.03 l 12.5684,-6.8719 25.5286,-14.4069 -0.422,-1.2056 0.633,1.085 0.8138,-0.4822 3.3455,-2.0194 z m -651.0541,-984.7642 11.99572,-9.28312 -0.9042,-1.507 -261.7659,-434.40782 -35.89674,24.74494 c -25.3176,18.62652 -49.82142,38.85046 -73.3909,60.64168 l 358.57558,358.39474 z" + stroke-linecap="round" + id="path11" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 250.25242,420.71145 -23.84074,24.89564 c -26.49306,28.66314 -50.69548,58.56202 -72.54698,89.87748 l -3.13456,4.49086 -7.29388,10.75998 -7.41444,11.3025 -2.68246,4.12918 C 52.417402,693.31024 6.6665831,839.64214 0.7535,990.23689 L 0.3014,1007.4468 0,1024.6568 h 507.79872 l 0.81378,-17.21 0.96448,-17.20991 c 6.66157,-67.86765 33.31549,-132.23153 76.58574,-184.93904 3.43596,-4.40044 7.6857,-8.52962 11.57376,-12.8095 l 11.54362,-12.77936 z m 1047.75678,-126.04548 -2.1098,-1.26588 -13.4725,-8.01724 -7.8666,-4.49086 -7.9268,-4.40044 -13.774,-7.44458 -2.1701,-1.14532 c -29.718,-15.49196 -60.3101,-29.29608 -91.5653,-41.32194 l -2.4112,-0.93434 -20.676,-7.44458 c -55.4576,-19.38002 -112.814,-32.97316 -171.1048,-40.59858 l -7.14318,-0.96448 -7.14318,-0.78364 -13.77398,-1.507 -3.85792,-0.33154 -16.4263,-1.38644 -20.67604,-1.26588 -7.47472,-0.3014 v 509.03446 c 26.13138,2.7126 52.02164,8.25836 77.12826,16.78798 L 1340.3258,322.45505 c -13.8641,-9.68615 -28.0162,-18.95339 -42.4371,-27.78908 z" + stroke-linecap="round" + id="path12" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 422.44224,307.83715 -8.8913,-14.7686 z m -9.13242,-14.79874 0.0603,0.0904 z m 423.73826,-122.18756 -17.20994,0.36168 c -35.92688,1.44672 -71.76334,5.1238 -107.32854,11.06138 l -2.35092,0.39182 -14.88916,2.7126 -8.62004,1.62756 -8.7406,1.83854 -14.4672,3.1647 -2.62218,0.57266 c -71.2811,16.63728 -140.12086,42.31656 -204.89172,76.43504 l -42.52754,24.02158 0.0603,0.0904 262.09744,435.16132 15.03986,-8.37892 15.40154,-7.77612 c 35.77618,-17.05924 74.23482,-27.84936 113.68808,-31.85798 l 17.20994,-1.38644 17.20994,-0.57266 V 170.48917 c -5.75674,0 -11.48334,0.24112 -17.20994,0.33154 z" + stroke-linecap="round" + id="path13" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1707.4611,982.73203 -0.8137,-13.68356 -0.4521,-6.84178 -1.6577,-20.25408 -1.718,-17.96344 -0.1809,-1.44672 -0.09,-0.69322 -2.592,-19.34988 c -0.03,-0.18084 -0.03,-0.42196 -0.09,-0.6028 -5.8472,-40.59858 -14.6179,-80.71492 -26.252,-120.07776 l -0.2411,-0.7535 -5.6362,-18.29498 -0.7836,-2.4112 -5.5156,-16.4263 -1.718,-4.43058 -5.154,-14.1658 -2.592,-6.90206 -4.5511,-11.66418 -3.7675,-9.1927 -3.7977,-9.042 -5.0635,-11.54362 -2.9236,-6.51024 -6.4198,-13.7137 -1.9892,-4.15932 -7.7159,-15.61252 -10.0667,-19.38002 c -0.1206,-0.18084 -0.211,-0.42196 -0.3316,-0.6028 -14.7686,-27.126 -30.9839,-53.46836 -48.5857,-78.84624 L 1181.91,913.16891 c 8.4693,24.98606 14.0753,50.84618 16.7578,77.09812 h 509.0646 z" + stroke-linecap="round" + id="path14" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1200.6872,1024.717 -0.8138,17.21 -0.9645,17.2099 c -6.5404,66.1272 -32.0689,130.8679 -76.5556,184.939 -3.4359,4.4005 -7.6857,8.5297 -11.5737,12.8095 l -11.5437,12.7794 359.0579,359.0578 12.056,-12.4478 12.056,-12.4478 c 26.5834,-28.7536 50.8461,-58.8936 72.7278,-90.1789 l 2.5619,-3.6771 7.8967,-11.6039 6.8116,-10.4284 3.436,-5.0937 c 82.3424,-129.1499 126.4071,-275.8714 132.3447,-423.7382 l 0.4521,-17.21 0.3014,-17.2099 h -508.2508 z" + stroke-linecap="round" + id="path15" /><path + style="fill:#424143;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1859.3065,19.66861 c -92.8915,-92.89148 -243.5312,-92.89148 -336.4227,0 -74.1143,74.11426 -88.9432,184.87876 -44.7881,273.85204 L 959.89872,811.71767 c -88.97328,-44.12496 -199.76792,-29.32622 -273.85204,44.78804 -92.79973,92.95408 -92.79973,243.49869 0,336.45279 92.96237,92.7914 243.50706,92.7779 336.45282,-0.03 74.1143,-74.1143 88.8829,-184.8788 44.788,-273.85205 l 518.3478,-518.34772 c 88.9732,44.12496 199.7679,29.32622 273.852,-44.78804 92.9216,-92.86134 92.9216,-243.50106 0,-336.39254 z" + stroke-linecap="round" + id="path16" /></g> </svg> diff --git a/docs/index.html b/docs/index.html index c098eda..78a561d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,31 +1,41 @@ <!DOCTYPE html> <html lang="en"> <head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="generator" content="Asciidoctor 2.0.15"> - <meta name="author" content="OpenAPI 3 Library for spring-boot By Badr NASS LAHSEN"> - <title>OpenAPI 3 Library for spring-boot</title> - <meta name="author" content="OpenAPI 3 Library for spring-boot By Badr NASS LAHSEN"> - <title>OpenAPI 3 Library for spring-boot</title> - <meta property="og:title" content="OpenAPI 3 Library for spring-boot" /> - <meta property="og:locale" content="en_US" /> - <meta name="description" content="OpenAPI 3 Library for spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file." /> - <meta property="og:description" content="Library for OpenAPI 3 with spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file." /> - <link rel="canonical" href="http://springdoc.org/" /> - <meta property="og:url" content="http://springdoc.org/" /> - <meta property="og:site_name" content="OpenAPI 3 Library for spring-boot" /> - <meta property="og:image" content="https://springdoc.org/img/banner-logo.svg" /> - <meta name="author" content="Library for OpenAPI 3 with spring-boot By Badr NASS LAHSEN"> - <title>springdoc-openapi v2.5.0</title> - <link rel="stylesheet" href="css/site.css"> - <style> - #header #revnumber { - display: none - } - </style> - <script src="js/setup.js"></script><script defer src="js/site.js"></script> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="generator" content="Asciidoctor 2.0.15"> +<meta name="author" content="OpenAPI 3 Library for spring-boot By Badr NASS LAHSEN"> +<title>OpenAPI 3 Library for spring-boot</title> +<meta name="author" content="OpenAPI 3 Library for spring-boot By Badr NASS LAHSEN"> +<title>OpenAPI 3 Library for spring-boot</title> +<meta property="og:title" content="OpenAPI 3 Library for spring-boot" /> +<meta property="og:locale" content="en_US" /> +<meta name="description" content="OpenAPI 3 Library for spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file." /> +<meta property="og:description" content="Library for OpenAPI 3 with spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file." /> +<link rel="canonical" href="http://springdoc.org/" /> +<meta property="og:url" content="http://springdoc.org/" /> +<meta property="og:site_name" content="OpenAPI 3 Library for spring-boot" /> +<meta property="og:image" content="https://springdoc.org/img/banner-logo.svg" /> +<meta name="author" content="Library for OpenAPI 3 with spring-boot By Badr NASS LAHSEN"> +<title>springdoc-openapi v2.8.8</title> +<link rel="stylesheet" href="css/site.css"> +<style> + #header #revnumber { + display: none + } +</style> + +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-1GEGWXWNH4"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-1GEGWXWNH4'); +</script> +<script src="js/setup.js"></script><script defer src="js/site.js"></script> </head> <body class="book toc2 toc-left"><div id="banner-container" class="container" role="banner"> @@ -45,7 +55,7 @@ <div id="main" class="contained"> <div id="doc" class="doc"> <div id="header"> -<h1>springdoc-openapi v2.6.0</h1> +<h1>springdoc-openapi v2.8.8</h1> <div id="toc" class="toc2"> <div id="toctitle">Table of Contents</div> <ul class="sectlevel1"> @@ -64,6 +74,7 @@ <h1>springdoc-openapi v2.6.0</h1> <li><a href="#kotlin-support">3.9. Kotlin support</a></li> <li><a href="#groovy-support">3.10. Groovy support</a></li> <li><a href="#javadoc-support">3.11. Javadoc support</a></li> +<li><a href="#springdoc-openapi-bom">3.12. Springdoc-openapi BOM</a></li> </ul> </li> <li><a href="#features">4. Springdoc-openapi Features</a> @@ -191,9 +202,10 @@ <h1>springdoc-openapi v2.6.0</h1> <li><a href="#how-can-i-define-different-description-for-a-class-attribute-depending-on-usage">13.75. How can i define different description for a class attribute depending on usage?</a></li> <li><a href="#customizing-swagger-static-resources">13.76. Customizing swagger static resources</a></li> <li><a href="#is-graalvm-supported">13.77. Is GraalVM supported ?</a></li> -<li><a href="#what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot">13.78. What is the compatibility matrix of <code>springdoc-openapi</code> with <code>spring-boot</code> ?</a></li> -<li><a href="#why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-overriding-the-default-spring-registered-httpmessageconverter">13.79. Why am i getting an error: <code>Swagger UI unable to render definition</code>, when overriding the default spring registered <code>HttpMessageConverter</code>?</a></li> -<li><a href="#some-parameters-are-not-generated-in-the-resulting-openapi-spec">13.80. Some parameters are not generated in the resulting OpenAPI spec.</a></li> +<li><a href="#how-to-integrate-open-api-3-with-spring-project-not-spring-boot">13.78. How to Integrate Open API 3 with Spring project (not Spring Boot)?</a></li> +<li><a href="#what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot">13.79. What is the compatibility matrix of <code>springdoc-openapi</code> with <code>spring-boot</code> ?</a></li> +<li><a href="#why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-overriding-the-default-spring-registered-httpmessageconverter">13.80. Why am i getting an error: <code>Swagger UI unable to render definition</code>, when overriding the default spring registered <code>HttpMessageConverter</code>?</a></li> +<li><a href="#some-parameters-are-not-generated-in-the-resulting-openapi-spec">13.81. Some parameters are not generated in the resulting OpenAPI spec.</a></li> </ul> </li> </ul> @@ -232,6 +244,12 @@ <h1>springdoc-openapi v2.6.0</h1> <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> </div> </div> @@ -282,18 +300,6 @@ <h2 id="Introduction"><a class="anchor" href="#Introduction"></a>1. Introduction <div class="paragraph"> <p>This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal).</p> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -307,7 +313,7 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>2. Gettin <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -336,7 +342,7 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>2. Gettin </div> </li> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> </ul> </div> @@ -358,18 +364,17 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>2. Gettin springdoc.swagger-ui.path=/swagger-ui.html</code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> <div class="sect1"> @@ -416,7 +421,7 @@ <h3 id="spring-webmvc-support"><a class="anchor" href="#spring-webmvc-support">< <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-api</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -456,7 +461,7 @@ <h3 id="spring-webflux-support"><a class="anchor" href="#spring-webflux-support" <div class="ulist"> <ul> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> <li> <p>Add the library to the list of your project dependencies (No additional configuration is needed)</p> @@ -468,7 +473,7 @@ <h3 id="spring-webflux-support"><a class="anchor" href="#spring-webflux-support" <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webflux-api</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -793,7 +798,7 @@ <h3 id="spring-cloud-function-web-support"><a class="anchor" href="#spring-cloud <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/springdoc-openapi-spring-cloud-function" target="_blank" rel="noopener">Sample applications with Spring Cloud Function Web</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-cloud-function" target="_blank" rel="noopener">Sample applications with Spring Cloud Function Web</a></p> </li> </ul> </div> @@ -956,18 +961,28 @@ <h3 id="javadoc-support"><a class="anchor" href="#javadoc-support"></a>3.11. Jav </tr> </table> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +</div> +<div class="sect2"> +<h3 id="springdoc-openapi-bom"><a class="anchor" href="#springdoc-openapi-bom"></a>3.12. Springdoc-openapi BOM</h3> +<div class="paragraph"> +<p>Starting from version <code>v2.8.7</code>, <code>springdoc-openapi</code> provides a BOM (Bill of Materials) to manage the dependencies of the project. +You can declare it in your project as follows:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.springdoc</groupId> + <artifactId>springdoc-openapi-bom</artifactId> + <version>2.8.8</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement></code></pre> +</div> +</div> </div> </div> </div> @@ -1085,19 +1100,19 @@ <h3 id="spring-webfluxwebmvc-fn-with-functional-endpoints"><a class="anchor" hre <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/HelloRouter.java">HelloRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/HelloRouter.java">HelloRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/quotes/QuotesRouter.java">QuotesRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/quotes/QuotesRouter.java">QuotesRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/book/BookRouter.java">BookRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/book/BookRouter.java">BookRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/employee/EmployeeRouter.java">EmployeeRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/employee/EmployeeRouter.java">EmployeeRouter</a></p> </li> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/position/PositionRouter.java">PositionRouter</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/position/PositionRouter.java">PositionRouter</a></p> </li> </ul> </div> @@ -1107,7 +1122,7 @@ <h3 id="spring-webfluxwebmvc-fn-with-functional-endpoints"><a class="anchor" hre <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/2.x/demo-spring-boot-3-webflux-functional">Sample webflux application using functional DSL</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-boot-3-webflux-functional">Sample webflux application using functional DSL</a></p> </li> </ul> </div> @@ -1244,7 +1259,7 @@ <h3 id="spring-webfluxwebmvc-fn-with-functional-endpoints"><a class="anchor" hre <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/springdoc-openapi-spring-boot-2-webflux-functional" target="_blank" rel="noopener">Sample application with Functional Endpoints documentation</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-boot-3-webflux-functional" target="_blank" rel="noopener">Sample application with Functional Endpoints documentation</a></p> </li> </ul> </div> @@ -1254,7 +1269,7 @@ <h3 id="spring-webfluxwebmvc-fn-with-functional-endpoints"><a class="anchor" hre <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/tree/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api" target="_blank" rel="noopener">Sample code with Functional Endpoints documentation</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/tree/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api" target="_blank" rel="noopener">Sample code with Functional Endpoints documentation</a></p> </li> </ul> </div> @@ -1277,18 +1292,17 @@ <h3 id="integration-with-wildfly"><a class="anchor" href="#integration-with-wild </dependency></code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> @@ -1296,7 +1310,7 @@ <h3 id="integration-with-wildfly"><a class="anchor" href="#integration-with-wild <h2 id="properties"><a class="anchor" href="#properties"></a>5. Springdoc-openapi Properties</h2> <div class="sectionbody"> <div class="paragraph"> -<p><code>springdoc-openapi</code> relies on standard <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config" target="_blank" rel="noopener">spring configuration properties</a> (yml or properties) using the standard files locations.</p> +<p><code>springdoc-openapi</code> relies on standard <a href="https://docs.spring.io/spring-boot/reference/features/external-config.html" target="_blank" rel="noopener">spring configuration properties</a> (yml or properties) using the standard files locations.</p> </div> <div class="sect2"> <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-openapi-core-properties"></a>5.1. springdoc-openapi core properties</h3> @@ -1327,37 +1341,37 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-consumes-media-type</p></td> @@ -1367,7 +1381,7 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-produces-media-type</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong>/</strong></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The default produces media type.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The default produces media type.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.cache.disabled</p></td> @@ -1395,59 +1409,54 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When true, automatically adds @ControllerAdvice responses to all the generated responses.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.groups.enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To disable the springdoc-openapi groups.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].group</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The group name</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The group name</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].display-name</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The display name of the group.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The display name of the group.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan for a group (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">``</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.webjars.prefix</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/webjars</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>, To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.resolve-schema-properties</p></td> @@ -1495,14 +1504,9 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To make spring security login-endpoint visible.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Pre-loading setting to load OpenAPI on application startup.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-locales</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of locales to load OpenAPI on application startup.(comma separated) If not specified, it will preload with the default Locale.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of locales to load OpenAPI on application startup (comma separated). If not specified, it will preload with the default Locale.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.writer-with-order-by-keys</p></td> @@ -1537,7 +1541,7 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-kotlin</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolproperty resolver on @Schema (extensionean</code>. To enable Kotlin support.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable Kotlin support.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-hateoas</p></td> @@ -1551,8 +1555,8 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.version</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_0</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To Choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_1</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-flat-param-object</p></td> @@ -1589,20 +1593,28 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Adjust indentation when parsing the <code>@Operation</code> annotation in Kotlin.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.allowed-locales</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of allowed locales for OpenAPI (comma separated, for example <code>US,fr-CA</code>).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-extra-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable default support for extra Schemas, from <code>java.time</code> package like <code>LocalTime</code>, <code>Duration</code>, but also other Java classes like <code>java.util.Locale</code> or <code>java.nio.charset.Charset</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.explicit-object-schema</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Set explicit-object-schema to <code>true</code> to always include <code>type: object</code> in the schema, or to <code>false</code> to omit <code>type: object</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.use-arbitrary-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When set to <code>true</code>, schemas without a defined type will be deserialized as an <code>ArbitrarySchema</code> (with no type), instead of an <code>ObjectSchema</code> with <code>type: object</code>.</p></td> +</tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div class="sect2"> <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties"></a>5.2. swagger-ui properties</h3> @@ -1664,8 +1676,8 @@ <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties">< </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.validatorUrl</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://validator.swagger.io/validator" class="bare">validator.swagger.io/validator</a></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI attempts to validate specs against swagger.io’s online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators <a href="https://github.com/swagger-api/validator-badge" target="_blank" rel="noopener">Validator Badge</a>. Setting it to either <code>none</code>, <code>127.0.0.1</code> or <code>localhost</code> will disable validation.</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.tryItOutEnabled</p></td> @@ -1750,7 +1762,7 @@ <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties">< <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.supportedSubmitMethods</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=[get, put, post, delete, options, head, patch, trace]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.queryConfigEnabled</p></td> @@ -1864,18 +1876,17 @@ <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties">< </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> @@ -1921,7 +1932,7 @@ <h3 id="maven-plugin"><a class="anchor" href="#maven-plugin"></a>6.1. Maven plug <plugin> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-maven-plugin</artifactId> - <version>1.4</version> + <version>1.5</version> <executions> <execution> <id>integration-test</id> @@ -1986,18 +1997,6 @@ <h3 id="gradle-plugin"><a class="anchor" href="#gradle-plugin"></a>6.2. Gradle p </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -2043,18 +2042,17 @@ <h3 id="source-code-of-the-demo-applications"><a class="anchor" href="#source-co </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> @@ -2246,18 +2244,6 @@ <h2 id="migrating-from-springdoc-v1"><a class="anchor" href="#migrating-from-spr </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -2275,7 +2261,7 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -2302,7 +2288,7 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring <p><code>@ApiModel</code> → <code>@Schema</code></p> </li> <li> -<p><code>@ApiModelProperty(hidden = true)</code> → <code>@Schema(accessMode = READ_ONLY)</code></p> +<p><code>@ApiModelProperty(allowEmptyValue = true)</code> → <code>@Schema(nullable = true)</code></p> </li> <li> <p><code>@ApiModelProperty</code> → <code>@Schema</code></p> @@ -2443,18 +2429,6 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -2500,7 +2474,7 @@ <h3 id="dependencies-repository"><a class="anchor" href="#dependencies-repositor <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/groups/public/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/groups/public/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/search?q=g:org.springdoc" target="_blank" rel="noopener">https://central.sonatype.com/search?q=g:org.springdoc</a></p> </li> </ul> </div> @@ -2510,22 +2484,10 @@ <h3 id="dependencies-repository"><a class="anchor" href="#dependencies-repositor <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/" target="_blank" rel="noopener">https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/</a></p> </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -2554,6 +2516,12 @@ <h2 id="sponsor"><a class="anchor" href="#sponsor"></a>11. Sponsor</h2> <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> <div class="sect2"> <h3 id="benefits-of-being-a-bronze-sponsor"><a class="anchor" href="#benefits-of-being-a-bronze-sponsor"></a>11.1. Benefits of being a bronze sponsor</h3> @@ -2611,18 +2579,6 @@ <h3 id="benefits-of-being-a-gold-sponsor"><a class="anchor" href="#benefits-of-b </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -2644,18 +2600,6 @@ <h2 id="thanks"><a class="anchor" href="#thanks"></a>12. Special Thanks</h2> <img src="img/jetbrains.svg" alt="JetBrains"> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -2859,7 +2803,7 @@ <h3 id="how-can-i-disable-the-try-it-out-button"><a class="anchor" href="#how-ca </div> <div class="listingblock"> <div class="content"> -<pre>springdoc.swagger-ui.supportedSubmitMethods="get", "put", "post", "delete", "options", "head", "patch", "trace"</pre> +<pre>springdoc.swagger-ui.supportedSubmitMethods=get, put, post, delete, options, head, patch, trace</pre> </div> </div> </div> @@ -2927,15 +2871,13 @@ <h3 id="how-can-i-set-swagger-properties-programmatically"><a class="anchor" hre </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">--- -@Bean +<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">@Bean @Primary fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties { config.showCommonExtensions = true config.queryConfigEnabled = true return config } ---- </code></pre> </div> </div> @@ -3208,7 +3150,7 @@ <h3 id="how-can-i-deploy-springdoc-openapi-starter-webmvc-ui-behind-a-reverse-pr <p>If this is not enough, Spring Framework provides a <code>ForwardedHeaderFilter</code>. You can register it as a Servlet Filter in your application by setting server.forward-headers-strategy is set to FRAMEWORK.</p> </li> <li> -<p>Since Spring Boot 3.2, this is the new property to handle reverse proxy headers:</p> +<p>Since Spring Boot 2.2, this is the new property to handle reverse proxy headers:</p> </li> </ul> </div> @@ -3233,6 +3175,34 @@ <h3 id="how-can-i-deploy-springdoc-openapi-starter-webmvc-ui-behind-a-reverse-pr </code></pre> </div> </div> +<div class="ulist"> +<ul> +<li> +<p>If you need to manually adjust the URL displayed in the Swagger UI, implement the <code>ServerBaseUrlCustomizer</code> interface. This might be necessary to remove the port number, for example.</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">@Bean +public class CustomServerBaseUrlCustomizer implements ServerBaseUrlCustomizer { + @Override + public String customize(String serverBaseUrl) { + try { + URL url = new URL(serverBaseUrl); + if (url.getHost().contains(".com")) { + serverBaseUrl = new URL(url.getProtocol(),url.getHost(),url.getFile()).toString(); + } + } catch (MalformedURLException ex) { + // nothing we can do + } + + return serverBaseUrl; + } +} +</code></pre> +</div> +</div> </div> <div class="sect2"> <h3 id="is-jsonview-annotations-in-spring-mvc-apis-supported"><a class="anchor" href="#is-jsonview-annotations-in-spring-mvc-apis-supported"></a>13.25. Is <code>@JsonView</code> annotations in Spring MVC APIs supported?</h3> @@ -3271,7 +3241,7 @@ <h3 id="how-can-i-test-the-swagger-ui"><a class="anchor" href="#how-can-i-test-t <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java</a></p> </li> </ul> </div> @@ -3291,7 +3261,7 @@ <h3 id="how-can-i-customise-the-openapi-object"><a class="anchor" href="#how-can <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/app39/SpringDocApp39Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p> </li> </ul> </div> @@ -3870,8 +3840,40 @@ <h3 id="is-file-upload-supported"><a class="anchor" href="#is-file-upload-suppor <li> <p>The library supports the main file types: <code>MultipartFile</code>, <code>@RequestPart</code>, <code>FilePart</code></p> </li> +<li> +<p>You can upload a file as follows:</p> +</li> </ul> </div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java"><span class="fold-block hide-when-folded">import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Encoding; +import io.swagger.v3.oas.annotations.parameters.RequestBody; + +</span><span class="fold-block">@PostMapping(value = "/upload", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity<?> upload(@Parameter(description = "file") final MultipartFile file) { + return null; +} + +@PostMapping(value = "/uploadFileWithQuery", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity<?> uploadFileWithQuery(@Parameter(description = "file") @RequestPart("file") final MultipartFile file, + @Parameter(description = "An extra query parameter") @RequestParam String name) { + return null; +} + +@PostMapping(value = "/uploadFileWithJson", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}, produces = { + MediaType.APPLICATION_JSON_VALUE}) +public ResponseEntity<?> uploadFileWithJson( + @RequestBody(content = @Content(encoding = @Encoding(name = "jsonRequest", contentType = MediaType.APPLICATION_JSON_VALUE))) + @Parameter(description = "An extra JSON payload sent with file") @RequestPart("jsonRequest") final JsonRequest jsonRequest, + @RequestPart("file") final MultipartFile file) { + return null; +} +</span></code></pre> +</div> +</div> </div> <div class="sect2"> <h3 id="can-i-use-parameter-inside-operation-annotation"><a class="anchor" href="#can-i-use-parameter-inside-operation-annotation"></a>13.54. Can I use <code>@Parameter</code> inside <code>@Operation</code> annotation?</h3> @@ -3946,11 +3948,6 @@ <h3 id="what-is-a-proper-way-to-set-up-swagger-ui-to-use-provided-spec-yml"><a c ObjectMapperProvider objectMapperProvider(SpringDocConfigProperties springDocConfigProperties){ return new ObjectMapperProvider(springDocConfigProperties); } - -@Bean -SpringDocUIConfiguration SpringDocUIConfiguration(Optional<SwaggerUiConfigProperties> optionalSwaggerUiConfigProperties){ - return new SpringDocUIConfiguration(optionalSwaggerUiConfigProperties); -} </code></pre> </div> </div> @@ -4082,20 +4079,25 @@ <h3 id="how-can-i-use-the-last-springdoc-openapi-snapshot"><a class="anchor" hre <p>For testing purposes only, you can test temporarily using the last <code>springdoc-openapi</code> SNAPSHOT</p> </li> <li> -<p>To achieve that, you can on your pom.xml or your settings.xml the following section:</p> +<p>To achieve that, configure your pom.xml file with the following <code><repositories></code> section:</p> </li> </ul> </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> - <repository> - <id>snapshots-repo</id> - <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> - <releases><enabled>false</enabled></releases> - <snapshots><enabled>true</enabled></snapshots> - </repository> - </repositories></code></pre> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> + <repository> + <name>Central Portal Snapshots</name> + <id>central-portal-snapshots</id> + <url>https://central.sonatype.com/repository/maven-snapshots/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories></code></pre> </div> </div> </div> @@ -4166,7 +4168,7 @@ <h3 id="how-can-i-enable-csrf-support"><a class="anchor" href="#how-can-i-enable <div class="ulist"> <ul> <li> -<p><a href="https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor" target="_blank" rel="noopener">https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor</a></p> +<p><a href="https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor" target="_blank" rel="noopener">https://github.com/swagger-api/swagger-ui/blob/main/docs/usage/configuration.md#requestinterceptor</a></p> </li> </ul> </div> @@ -4473,12 +4475,115 @@ <h3 id="is-graalvm-supported"><a class="anchor" href="#is-graalvm-supported"></a </div> </div> <div class="sect2"> -<h3 id="what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot"><a class="anchor" href="#what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot"></a>13.78. What is the compatibility matrix of <code>springdoc-openapi</code> with <code>spring-boot</code> ?</h3> +<h3 id="how-to-integrate-open-api-3-with-spring-project-not-spring-boot"><a class="anchor" href="#how-to-integrate-open-api-3-with-spring-project-not-spring-boot"></a>13.78. How to Integrate Open API 3 with Spring project (not Spring Boot)?</h3> +<div class="paragraph"> +<p>When your application is using spring without (spring-boot), you need to add beans and auto-configuration that are natively provided in spring-boot.</p> +</div> +<div class="paragraph"> +<p>For example, lets assume you want load the swagger-ui in spring-mvc application:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>You mainly, need to add the springdoc-openapi module</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-xml" data-lang="xml"><dependency> + <groupId>org.springdoc</groupId> + <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> + <version>last.version</version> +</dependency></code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>If you don’t have the spring-boot and spring-boot-autoconfigure dependencies, you need to add them. And pay attention to the compatibility matrix, between you spring.version and spring-boot.version. For example, in this case (spring.version=5.1.12.RELEASE):</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-autoconfigure</artifactId> + <version>3.3.3</version> + </dependency></code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>Scan for the <code>springdoc-openapi</code> 'auto-configuration classes that spring-boot automatically loads for you.</p> +</li> +<li> +<p>Depending on your module, you can find them on the file: <code>spring.factories</code> of each <code>springdoc-openapi</code> module.</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-java" data-lang="java">@Configuration +@EnableWebMvc +public class WebConfig implements WebApplicationInitializer { + + @Override + public void onStartup(ServletContext servletContext) { + WebApplicationContext context = getContext(); + servletContext.addListener(new ContextLoaderListener(context)); + ServletRegistration.Dynamic dispatcher = servletContext.addServlet("RestServlet", + new DispatcherServlet(context)); + dispatcher.setLoadOnStartup(1); + dispatcher.addMapping("/*"); + } + + private AnnotationConfigWebApplicationContext getContext() { + AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + context.register(this.getClass(), + SpringDocConfiguration.class, + SpringDocConfigProperties.class, + SpringDocSpecPropertiesConfiguration.class, + SpringDocWebMvcConfiguration.class, + MultipleOpenApiSupportConfiguration.class, + SwaggerConfig.class, + SwaggerUiConfigProperties.class, + SwaggerUiOAuthProperties.class, + ); + return context; + } +} +</code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>Depending on your module, you can find them on the file: <code>org.springframework.boot.autoconfigure.AutoConfiguration.imports</code> of each <code>springdoc-openapi</code> module.</p> +</li> +<li> +<p>For groups usage make sure your <code>GroupedOpenApi</code> Beans are scanned.</p> +</li> +<li> +<p>If additionally, you are using custom <code>context path</code>: <code>/my-servlet-path</code>. Make sure you declare the following property:</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre>spring.mvc.servlet.path=/my-servlet-path</pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot"><a class="anchor" href="#what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot"></a>13.79. What is the compatibility matrix of <code>springdoc-openapi</code> with <code>spring-boot</code> ?</h3> <div class="paragraph"> <p><code>springdoc-openapi 2.x</code> is compatible with <code>spring-boot 3</code>.</p> </div> <div class="paragraph"> -<p>In general, <strong>you should only pick the last stable version as per today 2.6.0.</strong></p> +<p>In general, <strong>you should only pick the last stable version as per today 2.8.8.</strong></p> </div> <div class="paragraph"> <p>More precisely, this the exhaustive list of spring-boot versions against which <code>springdoc-openapi</code> has been built:</p> @@ -4488,16 +4593,30 @@ <h3 id="what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot"> <col style="width: 50%;"> <col style="width: 50%;"> </colgroup> -<thead> +<tbody> <tr> -<th class="tableblock halign-left valign-top">spring-boot Versions</th> -<th class="tableblock halign-left valign-top">Minimum springdoc-openapi Versions</th> +<td class="tableblock halign-left valign-top"><p class="tableblock">Spring Boot Versions</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Springdoc OpenAPI Versions</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.4.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.7.x</code> - <code>2.8.x</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.3.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.6.x</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.2.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.3.x</code> - <code>2.5.x</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.1.x</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.2.x</code></p></td> </tr> -</thead> -<tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>3.0.x</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.0.x</code>+</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.0.x</code> - <code>2.1.x</code></p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>2.7.x</code>, <code>1.5.x</code></p></td> @@ -4531,7 +4650,7 @@ <h3 id="what-is-the-compatibility-matrix-of-springdoc-openapi-with-spring-boot"> </table> </div> <div class="sect2"> -<h3 id="why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-overriding-the-default-spring-registered-httpmessageconverter"><a class="anchor" href="#why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-overriding-the-default-spring-registered-httpmessageconverter"></a>13.79. Why am i getting an error: <code>Swagger UI unable to render definition</code>, when overriding the default spring registered <code>HttpMessageConverter</code>?</h3> +<h3 id="why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-overriding-the-default-spring-registered-httpmessageconverter"><a class="anchor" href="#why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-overriding-the-default-spring-registered-httpmessageconverter"></a>13.80. Why am i getting an error: <code>Swagger UI unable to render definition</code>, when overriding the default spring registered <code>HttpMessageConverter</code>?</h3> <div class="paragraph"> <p>When overriding the default spring-boot registered <code>HttpMessageConverter</code>, you should have <code>ByteArrayHttpMessageConverter</code> registered as well to have proper <code>springdoc-openapi</code> support.</p> </div> @@ -4556,7 +4675,7 @@ <h3 id="why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-ov </div> </div> <div class="sect2"> -<h3 id="some-parameters-are-not-generated-in-the-resulting-openapi-spec"><a class="anchor" href="#some-parameters-are-not-generated-in-the-resulting-openapi-spec"></a>13.80. Some parameters are not generated in the resulting OpenAPI spec.</h3> +<h3 id="some-parameters-are-not-generated-in-the-resulting-openapi-spec"><a class="anchor" href="#some-parameters-are-not-generated-in-the-resulting-openapi-spec"></a>13.81. Some parameters are not generated in the resulting OpenAPI spec.</h3> <div class="paragraph"> <p>The issue is caused by the changes introduced by <a href="https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes" target="_blank" rel="noopener">Spring-Boot 3.2.0</a> in particular for the <strong>Parameter Name Discovery</strong>. @@ -4573,65 +4692,15 @@ <h3 id="some-parameters-are-not-generated-in-the-resulting-openapi-spec"><a clas </plugin></code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:19:59 +0200 +Last updated 2025-02-11 21:58:31 +0100 </div> </div> - -<script async src="https://fundingchoicesmessages.google.com/i/pub-8127371937306964?ers=1" nonce="qTwyivKfliixkQVYt18svQ"></script><script nonce="qTwyivKfliixkQVYt18svQ">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script> - -<script>(function(){/* - -Copyright The Closure Library Authors. -SPDX-License-Identifier: Apache-2.0 -*/ - 'use strict';var aa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ca={a:!0},n={};try{n.__proto__=ca;m=n.a;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null} - var p=k,q=function(a,b){a.prototype=ba(b.prototype);a.prototype.constructor=a;if(p)p(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.v=b.prototype},r=this||self,da=function(){},t=function(a){return a};var u;var w=function(a,b){this.g=b===v?a:""};w.prototype.toString=function(){return this.g+""};var v={},x=function(a){if(void 0===u){var b=null;var c=r.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(d){r.console&&r.console.error(d.message)}u=b}else u=b}a=(b=u)?b.createScriptURL(a):a;return new w(a,v)};var A=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};var B={},C=null;var D="function"===typeof Uint8Array;function E(a,b,c){return"object"===typeof a?D&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):F(a,b,c):b(a)}function F(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),e=0;e<a.length;e++){var f=a[e];null!=f&&(d[e]=E(f,b,c))}Array.isArray(a)&&a.s&&G(d);return d}d={};for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(f=a[e],null!=f&&(d[e]=E(f,b,c)));return d} - function ea(a){return F(a,function(b){return"number"===typeof b?isFinite(b)?b:String(b):b},function(b){var c;void 0===c&&(c=0);if(!C){C={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],f=0;5>f;f++){var h=d.concat(e[f].split(""));B[f]=h;for(var g=0;g<h.length;g++){var l=h[g];void 0===C[l]&&(C[l]=g)}}}c=B[c];d=Array(Math.floor(b.length/3));e=c[64]||"";for(f=h=0;h<b.length-2;h+=3){var y=b[h],z=b[h+1];l=b[h+2];g=c[y>>2];y=c[(y&3)<< - 4|z>>4];z=c[(z&15)<<2|l>>6];l=c[l&63];d[f++]=""+g+y+z+l}g=0;l=e;switch(b.length-h){case 2:g=b[h+1],l=c[(g&15)<<2]||e;case 1:b=b[h],d[f]=""+c[b>>2]+c[(b&3)<<4|g>>4]+l+e}return d.join("")})}var fa={s:{value:!0,configurable:!0}},G=function(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,fa);return a};var H;var J=function(a,b,c){var d=H;H=null;a||(a=d);d=this.constructor.u;a||(a=d?[d]:[]);this.j=d?0:-1;this.h=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||"object"!=typeof d||Array.isArray(d)||D&&d instanceof Uint8Array))){this.l=a-this.j;this.i=d;break a}void 0!==b&&-1<b?(this.l=Math.max(b,a+1-this.j),this.i=null):this.l=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)a=c[b],a<this.l?(a+=this.j,(d=this.g[a])?G(d):this.g[a]=I):(d=this.l+this.j,this.g[d]||(this.i=this.g[d]={}),(d=this.i[a])? - G(d):this.i[a]=I)},I=Object.freeze(G([])),K=function(a,b){if(-1===b)return null;if(b<a.l){b+=a.j;var c=a.g[b];return c!==I?c:a.g[b]=G([])}if(a.i)return c=a.i[b],c!==I?c:a.i[b]=G([])},M=function(a,b){var c=L;if(-1===b)return null;a.h||(a.h={});if(!a.h[b]){var d=K(a,b);d&&(a.h[b]=new c(d))}return a.h[b]};J.prototype.toJSON=function(){var a=N(this,!1);return ea(a)}; - var N=function(a,b){if(a.h)for(var c in a.h)if(Object.prototype.hasOwnProperty.call(a.h,c)){var d=a.h[c];if(Array.isArray(d))for(var e=0;e<d.length;e++)d[e]&&N(d[e],b);else d&&N(d,b)}return a.g},O=function(a,b){H=b=b?JSON.parse(b):null;a=new a(b);H=null;return a};J.prototype.toString=function(){return N(this,!1).toString()};var P=function(a){J.call(this,a)};q(P,J);function ha(a){var b,c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document,d=null===(b=c.querySelector)||void 0===b?void 0:b.call(c,"script[nonce]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)};var Q=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)},R=function(a){this.g=a||r.document||document};R.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a,b,c,d,e,f){try{var h=a.g,g=Q(a.g,"SCRIPT");g.async=!0;g.src=b instanceof w&&b.constructor===w?b.g:"type_error:TrustedResourceUrl";ha(g);h.head.appendChild(g);g.addEventListener("load",function(){e();d&&h.head.removeChild(g)});g.addEventListener("error",function(){0<c?S(a,b,c-1,d,e,f):(d&&h.head.removeChild(g),f())})}catch(l){f()}};var ia=r.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ja=r.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),ka=r.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),la=function(a,b,c){this.h=a;this.j=new R(this.h);this.g=null;this.i=[];this.l=!1;this.o=b;this.m=c},V=function(a){if(a.h.body&&!a.l){var b= - function(){T(a);r.setTimeout(function(){return U(a,3)},50)};S(a.j,a.o,2,!0,function(){r[a.m]||b()},b);a.l=!0}},T=function(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.h.body.appendChild(d);a.i.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=ma(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=ma(0,10,0,10,0,10);b.style.display= - "flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Q(a.j.g,"IMG");d.className=A();d.src=ia;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ja;var h=X(a);h.textContent=ka;Y(a, - e,f);Y(a,e,h);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.h.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.h.body.appendChild(d),a.i.push(d)},Y=function(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)},W=function(a,b){return Math.floor(a+Math.random()*(b-a))},ma=function(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f, - 255)).toString()+")"},X=function(a){a=Q(a.j.g,"DIV");a.className=A();return a},U=function(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(na(a),T(a),r.setTimeout(function(){return U(a,b-1)},50))},na=function(a){var b=a.i;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:aa(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.i=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};var pa=function(a,b,c,d,e){var f=oa(c),h=function(l){l.appendChild(f);r.setTimeout(function(){f?(0!==f.offsetHeight&&0!==f.offsetWidth?b():a(),f.parentNode&&f.parentNode.removeChild(f)):a()},d)},g=function(l){document.body?h(document.body):0<l?r.setTimeout(function(){g(l-1)},e):b()};g(3)},oa=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var L=function(a){J.call(this,a)};q(L,J);var qa=function(a){J.call(this,a)};q(qa,J);var ra=function(a,b){this.l=a;this.m=new R(a.document);this.g=b;this.i=K(this.g,1);b=M(this.g,2);this.o=x(K(b,4)||"");this.h=!1;b=M(this.g,13);b=x(K(b,4)||"");this.j=new la(a.document,b,K(this.g,12))};ra.prototype.start=function(){sa(this)}; - var sa=function(a){ta(a);S(a.m,a.o,3,!1,function(){a:{var b=a.i;var c=r.btoa(b);if(c=r[c]){try{var d=O(P,r.atob(c))}catch(e){b=!1;break a}b=b===K(d,1)}else b=!1}b?Z(a,K(a.g,14)):(Z(a,K(a.g,8)),V(a.j))},function(){pa(function(){Z(a,K(a.g,7));V(a.j)},function(){return Z(a,K(a.g,6))},K(a.g,9),K(a.g,10),K(a.g,11))})},Z=function(a,b){a.h||(a.h=!0,a=new a.l.XMLHttpRequest,a.open("GET",b,!0),a.send())},ta=function(a){var b=r.btoa(a.i);a.l[b]&&Z(a,K(a.g,5))};(function(a,b){r[a]=function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];r[a]=da;b.apply(null,d)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ra(window,O(qa,window.atob(a)))).start()});}).call(this); - -window.__h82AlnkH6D91__("WyJwdWItODEyNzM3MTkzNzMwNjk2NCIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi04MTI3MzcxOTM3MzA2OTY0Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hVVXNtYllHLTNoZTRqREV4eUFqMXVjSW5zaEd5VUdYZ25fTG5SUENZNlVURW41VmhURGxxODJlcXlKdV94SzlEYzN5Rk5YSzJFZHpobWZ2dFJ5VzJnT2RBXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFg4Q0RxR05yYWtpUWlpakFtVHVnUnJ6d2NJdUxla185MTgxc0ZLUEkzcERDbzFGeEk4djk5MnhjdkExYi1sQ05OWVVJcFVyZ0llOWdtTmFmbF9SNnRfbFFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFZWX0JVWGw0cHJUWE1CdDRQOHhycVMwcUNxajBDaWVuRVFlYWJfNWg4ejNWeHkxTkI3akVZV05HVEpmcVdmQXI3bkxDcUZSSUZnMkR0NjdyLW42YkdjQ3dcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFdFSG1PTl9kNDdYMDRPVUdQZHF0bTB6aGVFSGR1cXhzUnJCWWMzV0NPRHJKOUR0TnlPOTh4bzdKWDB1WkFjQkZ3MXFYZFZ1QkdYU1d0VmhLcjVJbUlVLUFcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUZ3hNamN6TnpFNU16Y3pNRFk1TmpRXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi04MTI3MzcxOTM3MzA2OTY0LmpzP3VzcXBcdTAwM2RDQUUiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4VTIyeGRQMXk1c0VSRUd2ZmlBZ2JYVHhnbzM4YUVYSGZNeFFTZzhKYXcyTzBXdVc5OFpBVTFaVXAxTDc3ZWI2YkcwM29BNFUxdGNVSldXX1NvVGM3U01Xd1x1MDAzZFx1MDAzZCJd");</script> - - -<!-- Global site tag (gtag.js) - Google Analytics --> -<script async src="https://www.googletagmanager.com/gtag/js?id=G-1GEGWXWNH4"></script> -<script> - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('consent', 'default', { - 'ad_user_data': 'denied', - 'ad_personalization': 'denied', - 'ad_storage': 'denied', - 'analytics_storage': 'denied', - 'wait_for_update': 500, - }); - gtag('js', new Date()); - gtag('config', 'G-1GEGWXWNH4'); -</script> </div> </div> </div> diff --git a/docs/intro.html b/docs/intro.html index 7c7c0c7..9181077 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -76,24 +76,12 @@ <h2 id="Introduction"><a class="anchor" href="#Introduction"></a>Introduction</h <div class="paragraph"> <p>This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal).</p> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:16:28 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/migrating-from-springdoc-v1.html b/docs/migrating-from-springdoc-v1.html index 3cb50b0..78713b0 100644 --- a/docs/migrating-from-springdoc-v1.html +++ b/docs/migrating-from-springdoc-v1.html @@ -217,24 +217,12 @@ <h2 id="migrating-from-springdoc-v1"><a class="anchor" href="#migrating-from-spr </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:19:06 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/migrating-from-springfox.html b/docs/migrating-from-springfox.html index f954f48..c808e01 100644 --- a/docs/migrating-from-springfox.html +++ b/docs/migrating-from-springfox.html @@ -44,7 +44,7 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -71,7 +71,7 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring <p><code>@ApiModel</code> → <code>@Schema</code></p> </li> <li> -<p><code>@ApiModelProperty(hidden = true)</code> → <code>@Schema(accessMode = READ_ONLY)</code></p> +<p><code>@ApiModelProperty(allowEmptyValue = true)</code> → <code>@Schema(nullable = true)</code></p> </li> <li> <p><code>@ApiModelProperty</code> → <code>@Schema</code></p> @@ -212,24 +212,12 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:19:18 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/modules.html b/docs/modules.html index 1b30e98..1bd3f02 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -73,7 +73,7 @@ <h3 id="_spring_webmvc_support"><a class="anchor" href="#_spring_webmvc_support" <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-api</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -113,7 +113,7 @@ <h3 id="_spring_webflux_support"><a class="anchor" href="#_spring_webflux_suppor <div class="ulist"> <ul> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> <li> <p>Add the library to the list of your project dependencies (No additional configuration is needed)</p> @@ -125,7 +125,7 @@ <h3 id="_spring_webflux_support"><a class="anchor" href="#_spring_webflux_suppor <pre class="highlight"><code class="language-xml" data-lang="xml"> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webflux-api</artifactId> - <version>2.6.0</version> + <version>2.8.8</version> </dependency></code></pre> </div> </div> @@ -450,7 +450,7 @@ <h3 id="_spring_cloud_function_web_support"><a class="anchor" href="#_spring_clo <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/springdoc-openapi-spring-cloud-function" target="_blank" rel="noopener">Sample applications with Spring Cloud Function Web</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-cloud-function" target="_blank" rel="noopener">Sample applications with Spring Cloud Function Web</a></p> </li> </ul> </div> @@ -613,25 +613,35 @@ <h3 id="_javadoc_support"><a class="anchor" href="#_javadoc_support"></a>Javadoc </tr> </table> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +</div> +<div class="sect2"> +<h3 id="_springdoc_openapi_bom"><a class="anchor" href="#_springdoc_openapi_bom"></a>Springdoc-openapi BOM</h3> +<div class="paragraph"> +<p>Starting from version <code>v2.8.7</code>, <code>springdoc-openapi</code> provides a BOM (Bill of Materials) to manage the dependencies of the project. +You can declare it in your project as follows:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.springdoc</groupId> + <artifactId>springdoc-openapi-bom</artifactId> + <version>2.8.8</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement></code></pre> +</div> +</div> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:17:02 +0200 +Last updated 2025-05-04 17:47:09 +0200 </div> </div> </div> diff --git a/docs/other-resources.html b/docs/other-resources.html index 885899b..a8941ef 100644 --- a/docs/other-resources.html +++ b/docs/other-resources.html @@ -72,7 +72,7 @@ <h3 id="_dependencies_repository"><a class="anchor" href="#_dependencies_reposit <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/groups/public/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/groups/public/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/search?q=g:org.springdoc" target="_blank" rel="noopener">https://central.sonatype.com/search?q=g:org.springdoc</a></p> </li> </ul> </div> @@ -82,29 +82,17 @@ <h3 id="_dependencies_repository"><a class="anchor" href="#_dependencies_reposit <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/" target="_blank" rel="noopener">https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/</a></p> </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:19:27 +0200 +Last updated 2025-05-04 16:32:34 +0200 </div> </div> </div> diff --git a/docs/plugins.html b/docs/plugins.html index 12e94b9..d86f466 100644 --- a/docs/plugins.html +++ b/docs/plugins.html @@ -71,7 +71,7 @@ <h3 id="_maven_plugin"><a class="anchor" href="#_maven_plugin"></a>Maven plugin< <plugin> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-maven-plugin</artifactId> - <version>1.4</version> + <version>1.5</version> <executions> <execution> <id>integration-test</id> @@ -136,25 +136,13 @@ <h3 id="_gradle_plugin"><a class="anchor" href="#_gradle_plugin"></a>Gradle plug </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-22 21:54:04 +0200 +Last updated 2025-05-04 15:06:04 +0200 </div> </div> </div> diff --git a/docs/properties.html b/docs/properties.html index f2e6972..8389073 100644 --- a/docs/properties.html +++ b/docs/properties.html @@ -33,7 +33,7 @@ <h2 id="properties"><a class="anchor" href="#properties"></a>Springdoc-openapi Properties</h2> <div class="sectionbody"> <div class="paragraph"> -<p><code>springdoc-openapi</code> relies on standard <a href="https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config" target="_blank" rel="noopener">spring configuration properties</a> (yml or properties) using the standard files locations.</p> +<p><code>springdoc-openapi</code> relies on standard <a href="https://docs.spring.io/spring-boot/reference/features/external-config.html" target="_blank" rel="noopener">spring configuration properties</a> (yml or properties) using the standard files locations.</p> </div> <div class="sect2"> <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_openapi_core_properties"></a>springdoc-openapi core properties</h3> @@ -64,37 +64,37 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-consumes-media-type</p></td> @@ -104,7 +104,7 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-produces-media-type</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong>/</strong></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The default produces media type.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The default produces media type.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.cache.disabled</p></td> @@ -132,59 +132,54 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When true, automatically adds @ControllerAdvice responses to all the generated responses.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.groups.enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To disable the springdoc-openapi groups.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].group</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The group name</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The group name</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].display-name</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The display name of the group.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The display name of the group.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan for a group (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">``</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.webjars.prefix</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/webjars</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>, To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.resolve-schema-properties</p></td> @@ -232,14 +227,9 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To make spring security login-endpoint visible.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Pre-loading setting to load OpenAPI on application startup.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-locales</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of locales to load OpenAPI on application startup.(comma separated) If not specified, it will preload with the default Locale.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of locales to load OpenAPI on application startup (comma separated). If not specified, it will preload with the default Locale.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.writer-with-order-by-keys</p></td> @@ -274,7 +264,7 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-kotlin</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolproperty resolver on @Schema (extensionean</code>. To enable Kotlin support.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable Kotlin support.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-hateoas</p></td> @@ -288,8 +278,8 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.version</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_0</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To Choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_1</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-flat-param-object</p></td> @@ -326,20 +316,28 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Adjust indentation when parsing the <code>@Operation</code> annotation in Kotlin.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.allowed-locales</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of allowed locales for OpenAPI (comma separated, for example <code>US,fr-CA</code>).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-extra-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable default support for extra Schemas, from <code>java.time</code> package like <code>LocalTime</code>, <code>Duration</code>, but also other Java classes like <code>java.util.Locale</code> or <code>java.nio.charset.Charset</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.explicit-object-schema</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Set explicit-object-schema to <code>true</code> to always include <code>type: object</code> in the schema, or to <code>false</code> to omit <code>type: object</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.use-arbitrary-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When set to <code>true</code>, schemas without a defined type will be deserialized as an <code>ArbitrarySchema</code> (with no type), instead of an <code>ObjectSchema</code> with <code>type: object</code>.</p></td> +</tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div class="sect2"> <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties"></a>swagger-ui properties</h3> @@ -401,8 +399,8 @@ <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties" </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.validatorUrl</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://validator.swagger.io/validator" class="bare">https://validator.swagger.io/validator</a></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI attempts to validate specs against swagger.io’s online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators <a href="https://github.com/swagger-api/validator-badge" target="_blank" rel="noopener">Validator Badge</a>. Setting it to either <code>none</code>, <code>127.0.0.1</code> or <code>localhost</code> will disable validation.</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.tryItOutEnabled</p></td> @@ -487,7 +485,7 @@ <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties" <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.supportedSubmitMethods</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=[get, put, post, delete, options, head, patch, trace]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.queryConfigEnabled</p></td> @@ -601,25 +599,24 @@ <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties" </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:22:46 +0200 +Last updated 2024-09-27 22:58:30 +0200 </div> </div> </div> diff --git a/docs/sponsor.html b/docs/sponsor.html index f473a4a..f59c8ab 100644 --- a/docs/sponsor.html +++ b/docs/sponsor.html @@ -54,6 +54,12 @@ <h2 id="sponsor"><a class="anchor" href="#sponsor"></a>Sponsor</h2> <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> <div class="sect2"> <h3 id="_benefits_of_being_a_bronze_sponsor"><a class="anchor" href="#_benefits_of_being_a_bronze_sponsor"></a>Benefits of being a bronze sponsor</h3> @@ -111,25 +117,13 @@ <h3 id="_benefits_of_being_a_gold_sponsor"><a class="anchor" href="#_benefits_of </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:19:40 +0200 +Last updated 2025-02-11 21:58:31 +0100 </div> </div> </div> diff --git a/docs/thanks.html b/docs/thanks.html index ee574ee..3425017 100644 --- a/docs/thanks.html +++ b/docs/thanks.html @@ -47,24 +47,12 @@ <h2 id="thanks"><a class="anchor" href="#thanks"></a>Special Thanks</h2> <img src="img/jetbrains.svg" alt="JetBrains"> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:19:51 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/ui-properties.html b/docs/ui-properties.html index 2cf9876..d7e5761 100644 --- a/docs/ui-properties.html +++ b/docs/ui-properties.html @@ -65,8 +65,8 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.validatorUrl</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://validator.swagger.io/validator" class="bare">https://validator.swagger.io/validator</a></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI attempts to validate specs against swagger.io’s online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators <a href="https://github.com/swagger-api/validator-badge" target="_blank" rel="noopener">Validator Badge</a>. Setting it to either <code>none</code>, <code>127.0.0.1</code> or <code>localhost</code> will disable validation.</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.tryItOutEnabled</p></td> @@ -151,7 +151,7 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.supportedSubmitMethods</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=[get, put, post, delete, options, head, patch, trace]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.queryConfigEnabled</p></td> @@ -265,22 +265,21 @@ </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:17:54 +0200 +Last updated 2025-02-28 20:11:22 +0100 </div> </div> </div> diff --git a/docs/v1/core-properties.html b/docs/v1/core-properties.html index b46434b..a51d985 100644 --- a/docs/v1/core-properties.html +++ b/docs/v1/core-properties.html @@ -124,11 +124,6 @@ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When true, automatically adds @ControllerAdvice responses to all the generated responses.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.groups.enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To disable the springdoc-openapi groups.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].group</p></td> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The group name</p></td> @@ -295,22 +290,10 @@ </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:20:48 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/v1/demos.html b/docs/v1/demos.html index f435940..0eca07f 100644 --- a/docs/v1/demos.html +++ b/docs/v1/demos.html @@ -77,25 +77,13 @@ <h3 id="_source_code_of_the_demo_applications"><a class="anchor" href="#_source_ </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:20:56 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/v1/faq.html b/docs/v1/faq.html index 5fc3063..49bfed8 100644 --- a/docs/v1/faq.html +++ b/docs/v1/faq.html @@ -230,7 +230,7 @@ <h3 id="_how_can_i_disable_the_try_it_out_button"><a class="anchor" href="#_how_ </div> <div class="listingblock"> <div class="content"> -<pre>springdoc.swagger-ui.supportedSubmitMethods="get", "put", "post", "delete", "options", "head", "patch", "trace"</pre> +<pre>springdoc.swagger-ui.supportedSubmitMethods=get, put, post, delete, options, head, patch, trace</pre> </div> </div> </div> @@ -298,15 +298,13 @@ <h3 id="_how_can_i_set_swagger_properties_programmatically"><a class="anchor" hr </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">--- -@Bean +<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">@Bean @Primary fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties { config.showCommonExtensions = true config.queryConfigEnabled = true return config } ---- </code></pre> </div> </div> @@ -655,7 +653,7 @@ <h3 id="_how_can_i_customise_the_openapi_object"><a class="anchor" href="#_how_c <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webmvc-core/src/test/java/test/org/springdoc/api/app39/SpringDocApp39Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app39/SpringDocTestApp.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app39/SpringDocTestApp.java</a></p> </li> </ul> </div> @@ -665,9 +663,9 @@ <h3 id="_how_can_i_customise_the_openapi_object"><a class="anchor" href="#_how_c <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-java" data-lang="java">@Bean -public OpenApiCustomiser consumerTypeHeaderOpenAPICustomiser() { -return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream()) - .forEach(operation -> operation.addParametersItem(new HeaderParameter().$ref("#/components/parameters/myConsumerTypeHeader"))); +public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() { + return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream()) + .forEach(operation -> operation.addParametersItem(new HeaderParameter().$ref("#/components/parameters/myGlobalHeader"))); } </code></pre> </div> @@ -1307,11 +1305,6 @@ <h3 id="_what_is_a_proper_way_to_set_up_swagger_ui_to_use_provided_spec_yml"><a ObjectMapperProvider objectMapperProvider(SpringDocConfigProperties springDocConfigProperties){ return new ObjectMapperProvider(springDocConfigProperties); } - -@Bean -SpringDocUIConfiguration SpringDocUIConfiguration(Optional<SwaggerUiConfigProperties> optionalSwaggerUiConfigProperties){ - return new SpringDocUIConfiguration(optionalSwaggerUiConfigProperties); -} </code></pre> </div> </div> @@ -1548,20 +1541,25 @@ <h3 id="_how_can_i_use_the_last_springdoc_openapi_snapshot"><a class="anchor" hr <p>For testing purposes only, you can test temporarily using the last <code>springdoc-openapi</code> SNAPSHOT</p> </li> <li> -<p>To achieve that, you can on your pom.xml or your settings.xml the following section:</p> +<p>To achieve that, configure your pom.xml file with the following <code><repositories></code> section:</p> </li> </ul> </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> - <repository> - <id>snapshots-repo</id> - <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> - <releases><enabled>false</enabled></releases> - <snapshots><enabled>true</enabled></snapshots> - </repository> - </repositories></code></pre> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> + <repository> + <name>Central Portal Snapshots</name> + <id>central-portal-snapshots</id> + <url>https://central.sonatype.com/repository/maven-snapshots/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories></code></pre> </div> </div> </div> @@ -1998,25 +1996,13 @@ <h3 id="_why_am_i_getting_an_error_swagger_ui_unable_to_render_definition_when_o </tr> </table> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:21:05 +0200 +Last updated 2025-05-04 17:50:23 +0200 </div> </div> </div> diff --git a/docs/v1/features.html b/docs/v1/features.html index 504dae1..e53a7f8 100644 --- a/docs/v1/features.html +++ b/docs/v1/features.html @@ -335,25 +335,13 @@ <h3 id="_integration_with_wildfly"><a class="anchor" href="#_integration_with_wi </dependency></code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:21:10 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/v1/getting-started.html b/docs/v1/getting-started.html index f85a6f9..6b3183e 100644 --- a/docs/v1/getting-started.html +++ b/docs/v1/getting-started.html @@ -69,7 +69,7 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>Getting S </div> </li> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> </ul> </div> @@ -91,24 +91,12 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>Getting S springdoc.swagger-ui.path=/swagger-ui.html</code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:21:15 +0200 +Last updated 2025-05-04 17:47:09 +0200 </div> </div> </div> diff --git a/docs/v1/img/LVM_Versicherung_2010_logo.svg.png b/docs/v1/img/LVM_Versicherung_2010_logo.svg.png new file mode 100644 index 0000000..5aac7e9 Binary files /dev/null and b/docs/v1/img/LVM_Versicherung_2010_logo.svg.png differ diff --git a/docs/v1/img/gdnext.png b/docs/v1/img/gdnext.png new file mode 100644 index 0000000..1523834 Binary files /dev/null and b/docs/v1/img/gdnext.png differ diff --git a/docs/v1/img/springdoc/springdoc-favicon.svg b/docs/v1/img/springdoc/springdoc-favicon.svg new file mode 100644 index 0000000..21eeef6 --- /dev/null +++ b/docs/v1/img/springdoc/springdoc-favicon.svg @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + - /* + - * + - * * + - * * * Copyright 2019-2022 the original author or authors. + - * * * + - * * * Licensed under the Apache License, Version 2.0 (the "License"); + - * * * you may not use this file except in compliance with the License. + - * * * You may obtain a copy of the License at + - * * * + - * * * https://www.apache.org/licenses/LICENSE-2.0 + - * * * + - * * * Unless required by applicable law or agreed to in writing, software + - * * * distributed under the License is distributed on an "AS IS" BASIS, + - * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - * * * See the License for the specific language governing permissions and + - * * * limitations under the License. + - * * + - * + - */ + --> + +<svg + version="1.1" + width="100" + height="100" + viewBox="0 -50 3000 2999.9999" + xml:space="preserve" + id="svg18" + sodipodi:docname="springdoc-logo-transparent.svg" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview18" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050" + inkscape:zoom="2.985" + inkscape:cx="0.83752094" + inkscape:cy="39.698492" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="svg18" + showgrid="false" /> <desc + id="desc1">Created with Fabric.js 4.6.0</desc> <defs + id="defs1"><inkscape:path-effect + effect="fillet_chamfer" + id="path-effect17" + is_visible="true" + lpeversion="1" + nodesatellites_param="F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1" + radius="600" + unit="px" + method="auto" + mode="F" + chamfer_steps="1" + flexible="false" + use_knot_distance="true" + apply_no_radius="true" + apply_with_radius="true" + only_selected="false" + hide_knots="false" /> </defs> <path + style="fill:#ffffff;stroke-width:0;stroke-dasharray:none;paint-order:markers fill stroke" + id="rect17" + width="3000" + height="3000" + x="-2.5000001e-05" + y="-50.000027" + ry="11.308664" + inkscape:path-effect="#path-effect17" + sodipodi:type="rect" + d="m 599.99997,-50.000027 1800.00003,0 A 600,600 45 0 1 3000,549.99997 V 2350 a 600,600 135 0 1 -600,600 H 599.99997 A 600,600 45 0 1 -2.5000001e-5,2350 V 549.99997 A 600,600 135 0 1 599.99997,-50.000027 Z" + inkscape:label="background" /><g + id="g1" + inkscape:label="logo" + transform="matrix(1.2440529,0,0,1.2440868,381.90959,312.2043)"><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="M 509.75782,1059.0163 H 0.78364 l 0.3014,7.4446 0.87406,14.3467 0.36168,6.1184 1.38644,16.577 0.33154,3.7072 1.98924,18.3251 0.18084,1.7783 2.59204,19.7115 c 5.8773,40.8096 14.64804,81.0164 26.34236,120.4998 l 0.18084,0.5123 6.08828,19.6212 0.33154,1.085 5.60604,16.6674 1.47686,4.1895 5.24436,14.4069 2.47148,6.5103 4.64156,12.056 3.67708,8.9515 3.88806,9.3133 5.15394,11.3326 3.014,6.9021 6.3294,13.563 2.1098,4.3402 7.62542,15.4015 1.2056,2.3509 9.31326,17.6621 1.98924,3.4359 436.1258,-263.1825 c -17.01331,-35.7916 -27.76813,-74.2338 -31.7977,-113.6579 z m -484.92246,233.5549 0.1507,0.4521 16.4263,-5.1539 z" + stroke-linecap="round" + id="path1" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 634.83882,1292.8123 -359.90174,359.9018 5.5759,5.1238 15.3714,13.6534 12.056,10.3681 3.3154,2.7428 13.98496,11.2723 1.8084,1.4166 15.40154,11.8149 c 0.21098,0.1206 0.39182,0.2713 0.57266,0.422 l 67.09164,45.3305 2.4112,1.4769 13.20132,7.8062 8.10766,4.6115 7.6857,4.31 14.0151,7.5651 1.9591,1.0248 39.66424,19.2594 193.67964,-470.4854 c -19.95126,-10.6449 -38.80893,-23.2234 -56.30152,-37.5544 z" + stroke-linecap="round" + id="path2" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 597.5255,1257.0964 -11.18194,-13.1712 -9.28312,-11.9957 -9.9462,-14.0754 -9.31326,-14.5274 -435.28188,262.1878 22.42416,35.2035 1.8084,2.6524 0.0904,0.1808 23.38864,32.9732 1.02476,1.3864 10.57914,13.774 12.68894,15.7632 2.7126,3.436 10.3983,12.2669 4.58128,5.2143 9.01186,10.338 5.1238,5.5457 2.32078,2.5017 6.90206,7.2336 2.74274,2.8331 12.056,12.3273 359.05782,-359.0578 -11.7546,-12.5684 z" + stroke-linecap="round" + id="path3" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1073.4662,1292.6315 -11.9957,9.3132 0.9042,1.507 261.7961,434.5586 35.8063,-24.6546 c 25.5888,-18.8977 50.1228,-39.1518 73.4813,-60.7321 l -358.5756,-358.5454 z" + stroke-linecap="round" + id="path4" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.0469,1758.6863 0.6028,-0.3315 -0.03,-0.03 -0.5727,0.3316 z m -0.2411,0.1808 h 0.03 z" + stroke-linecap="round" + id="path5" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.6497,1758.1739 3.436,-1.718 -0.06,-0.1205 -3.3757,2.0194 z m -0.7535,0.6028 0.1808,-0.09 z" + stroke-linecap="round" + id="path6" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8058,1758.837 h 0.03 l -0.6329,-1.0549 z m 0.2411,-0.1808 0.6028,-0.3014 z m -0.3315,0.1808 -0.1809,0.09 0.1809,-0.06 z" + stroke-linecap="round" + id="path7" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.7154,1758.8671 0.09,-0.03 h -0.03 z" + stroke-linecap="round" + id="path8" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8962,1758.7767 -0.09,0.06 0.2712,-0.1808 z m 0.7535,-0.3918 3.4058,-1.929 z m 3.4058,-1.929 -0.06,-0.1205 z m -4.6114,2.5921 h 0.03 z" + stroke-linecap="round" + id="path9" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.5647,1758.9877 -0.09,0.06 z" + stroke-linecap="round" + id="path10" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1286.1039,1741.5969 -253.2362,-420.1817 -15.0399,8.3789 -15.4317,7.746 c -46.44572,22.0926 -97.23162,33.5759 -148.65046,33.6362 -33.48554,0 -66.79024,-4.8525 -98.88934,-14.437 l -16.2756,-5.7266 -16.24546,-5.7568 -193.31796,469.5209 1.41658,0.5124 1.47686,0.5727 h 0.0301 l 0.39182,0.1808 37.10234,14.196 c 56.48236,19.9225 114.89368,33.9075 174.26948,41.7137 l 6.96234,0.9344 21.03772,2.2906 3.40582,0.3014 16.8784,1.4166 5.7266,0.3617 14.7686,0.8439 9.042,0.3617 11.7546,0.4219 20.97744,0.2411 c 47.50531,0 94.92825,-3.9533 141.77856,-11.8148 l 2.38106,-0.3316 14.8892,-2.7126 8.62,-1.6275 8.7105,-1.8386 14.4973,-3.1948 2.6222,-0.6028 c 71.2753,-16.6293 140.1311,-42.3059 204.8917,-76.4049 v -0.03 l 12.5684,-6.8719 25.5286,-14.4069 -0.422,-1.2056 0.633,1.085 0.8138,-0.4822 3.3455,-2.0194 z m -651.0541,-984.7642 11.99572,-9.28312 -0.9042,-1.507 -261.7659,-434.40782 -35.89674,24.74494 c -25.3176,18.62652 -49.82142,38.85046 -73.3909,60.64168 l 358.57558,358.39474 z" + stroke-linecap="round" + id="path11" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 250.25242,420.71145 -23.84074,24.89564 c -26.49306,28.66314 -50.69548,58.56202 -72.54698,89.87748 l -3.13456,4.49086 -7.29388,10.75998 -7.41444,11.3025 -2.68246,4.12918 C 52.417402,693.31024 6.6665831,839.64214 0.7535,990.23689 L 0.3014,1007.4468 0,1024.6568 h 507.79872 l 0.81378,-17.21 0.96448,-17.20991 c 6.66157,-67.86765 33.31549,-132.23153 76.58574,-184.93904 3.43596,-4.40044 7.6857,-8.52962 11.57376,-12.8095 l 11.54362,-12.77936 z m 1047.75678,-126.04548 -2.1098,-1.26588 -13.4725,-8.01724 -7.8666,-4.49086 -7.9268,-4.40044 -13.774,-7.44458 -2.1701,-1.14532 c -29.718,-15.49196 -60.3101,-29.29608 -91.5653,-41.32194 l -2.4112,-0.93434 -20.676,-7.44458 c -55.4576,-19.38002 -112.814,-32.97316 -171.1048,-40.59858 l -7.14318,-0.96448 -7.14318,-0.78364 -13.77398,-1.507 -3.85792,-0.33154 -16.4263,-1.38644 -20.67604,-1.26588 -7.47472,-0.3014 v 509.03446 c 26.13138,2.7126 52.02164,8.25836 77.12826,16.78798 L 1340.3258,322.45505 c -13.8641,-9.68615 -28.0162,-18.95339 -42.4371,-27.78908 z" + stroke-linecap="round" + id="path12" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 422.44224,307.83715 -8.8913,-14.7686 z m -9.13242,-14.79874 0.0603,0.0904 z m 423.73826,-122.18756 -17.20994,0.36168 c -35.92688,1.44672 -71.76334,5.1238 -107.32854,11.06138 l -2.35092,0.39182 -14.88916,2.7126 -8.62004,1.62756 -8.7406,1.83854 -14.4672,3.1647 -2.62218,0.57266 c -71.2811,16.63728 -140.12086,42.31656 -204.89172,76.43504 l -42.52754,24.02158 0.0603,0.0904 262.09744,435.16132 15.03986,-8.37892 15.40154,-7.77612 c 35.77618,-17.05924 74.23482,-27.84936 113.68808,-31.85798 l 17.20994,-1.38644 17.20994,-0.57266 V 170.48917 c -5.75674,0 -11.48334,0.24112 -17.20994,0.33154 z" + stroke-linecap="round" + id="path13" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1707.4611,982.73203 -0.8137,-13.68356 -0.4521,-6.84178 -1.6577,-20.25408 -1.718,-17.96344 -0.1809,-1.44672 -0.09,-0.69322 -2.592,-19.34988 c -0.03,-0.18084 -0.03,-0.42196 -0.09,-0.6028 -5.8472,-40.59858 -14.6179,-80.71492 -26.252,-120.07776 l -0.2411,-0.7535 -5.6362,-18.29498 -0.7836,-2.4112 -5.5156,-16.4263 -1.718,-4.43058 -5.154,-14.1658 -2.592,-6.90206 -4.5511,-11.66418 -3.7675,-9.1927 -3.7977,-9.042 -5.0635,-11.54362 -2.9236,-6.51024 -6.4198,-13.7137 -1.9892,-4.15932 -7.7159,-15.61252 -10.0667,-19.38002 c -0.1206,-0.18084 -0.211,-0.42196 -0.3316,-0.6028 -14.7686,-27.126 -30.9839,-53.46836 -48.5857,-78.84624 L 1181.91,913.16891 c 8.4693,24.98606 14.0753,50.84618 16.7578,77.09812 h 509.0646 z" + stroke-linecap="round" + id="path14" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1200.6872,1024.717 -0.8138,17.21 -0.9645,17.2099 c -6.5404,66.1272 -32.0689,130.8679 -76.5556,184.939 -3.4359,4.4005 -7.6857,8.5297 -11.5737,12.8095 l -11.5437,12.7794 359.0579,359.0578 12.056,-12.4478 12.056,-12.4478 c 26.5834,-28.7536 50.8461,-58.8936 72.7278,-90.1789 l 2.5619,-3.6771 7.8967,-11.6039 6.8116,-10.4284 3.436,-5.0937 c 82.3424,-129.1499 126.4071,-275.8714 132.3447,-423.7382 l 0.4521,-17.21 0.3014,-17.2099 h -508.2508 z" + stroke-linecap="round" + id="path15" /><path + style="fill:#424143;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1859.3065,19.66861 c -92.8915,-92.89148 -243.5312,-92.89148 -336.4227,0 -74.1143,74.11426 -88.9432,184.87876 -44.7881,273.85204 L 959.89872,811.71767 c -88.97328,-44.12496 -199.76792,-29.32622 -273.85204,44.78804 -92.79973,92.95408 -92.79973,243.49869 0,336.45279 92.96237,92.7914 243.50706,92.7779 336.45282,-0.03 74.1143,-74.1143 88.8829,-184.8788 44.788,-273.85205 l 518.3478,-518.34772 c 88.9732,44.12496 199.7679,29.32622 273.852,-44.78804 92.9216,-92.86134 92.9216,-243.50106 0,-336.39254 z" + stroke-linecap="round" + id="path16" /></g></svg> diff --git a/docs/v1/img/springdoc/springdoc-logo.svg b/docs/v1/img/springdoc/springdoc-logo.svg new file mode 100644 index 0000000..f3f7bb8 --- /dev/null +++ b/docs/v1/img/springdoc/springdoc-logo.svg @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + - /* + - * + - * * + - * * * Copyright 2019-2022 the original author or authors. + - * * * + - * * * Licensed under the Apache License, Version 2.0 (the "License"); + - * * * you may not use this file except in compliance with the License. + - * * * You may obtain a copy of the License at + - * * * + - * * * https://www.apache.org/licenses/LICENSE-2.0 + - * * * + - * * * Unless required by applicable law or agreed to in writing, software + - * * * distributed under the License is distributed on an "AS IS" BASIS, + - * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - * * * See the License for the specific language governing permissions and + - * * * limitations under the License. + - * * + - * + - */ + --> + +<svg + version="1.1" + width="100" + height="100" + viewBox="0 -50 3000 2999.9999" + xml:space="preserve" + id="svg18" + sodipodi:docname="springdoc-logo-transparent.svg" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview18" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050" + inkscape:zoom="5.97" + inkscape:cx="43.718593" + inkscape:cy="55.360134" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="svg18" + showgrid="false" /> <desc + id="desc1">Created with Fabric.js 4.6.0</desc> <defs + id="defs1"> </defs> <g + id="g1" + inkscape:label="logo" + transform="matrix(1.555066,0,0,1.5551086,4.2925699e-5,27.755431)"><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="M 509.75782,1059.0163 H 0.78364 l 0.3014,7.4446 0.87406,14.3467 0.36168,6.1184 1.38644,16.577 0.33154,3.7072 1.98924,18.3251 0.18084,1.7783 2.59204,19.7115 c 5.8773,40.8096 14.64804,81.0164 26.34236,120.4998 l 0.18084,0.5123 6.08828,19.6212 0.33154,1.085 5.60604,16.6674 1.47686,4.1895 5.24436,14.4069 2.47148,6.5103 4.64156,12.056 3.67708,8.9515 3.88806,9.3133 5.15394,11.3326 3.014,6.9021 6.3294,13.563 2.1098,4.3402 7.62542,15.4015 1.2056,2.3509 9.31326,17.6621 1.98924,3.4359 436.1258,-263.1825 c -17.01331,-35.7916 -27.76813,-74.2338 -31.7977,-113.6579 z m -484.92246,233.5549 0.1507,0.4521 16.4263,-5.1539 z" + stroke-linecap="round" + id="path1" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 634.83882,1292.8123 -359.90174,359.9018 5.5759,5.1238 15.3714,13.6534 12.056,10.3681 3.3154,2.7428 13.98496,11.2723 1.8084,1.4166 15.40154,11.8149 c 0.21098,0.1206 0.39182,0.2713 0.57266,0.422 l 67.09164,45.3305 2.4112,1.4769 13.20132,7.8062 8.10766,4.6115 7.6857,4.31 14.0151,7.5651 1.9591,1.0248 39.66424,19.2594 193.67964,-470.4854 c -19.95126,-10.6449 -38.80893,-23.2234 -56.30152,-37.5544 z" + stroke-linecap="round" + id="path2" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 597.5255,1257.0964 -11.18194,-13.1712 -9.28312,-11.9957 -9.9462,-14.0754 -9.31326,-14.5274 -435.28188,262.1878 22.42416,35.2035 1.8084,2.6524 0.0904,0.1808 23.38864,32.9732 1.02476,1.3864 10.57914,13.774 12.68894,15.7632 2.7126,3.436 10.3983,12.2669 4.58128,5.2143 9.01186,10.338 5.1238,5.5457 2.32078,2.5017 6.90206,7.2336 2.74274,2.8331 12.056,12.3273 359.05782,-359.0578 -11.7546,-12.5684 z" + stroke-linecap="round" + id="path3" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1073.4662,1292.6315 -11.9957,9.3132 0.9042,1.507 261.7961,434.5586 35.8063,-24.6546 c 25.5888,-18.8977 50.1228,-39.1518 73.4813,-60.7321 l -358.5756,-358.5454 z" + stroke-linecap="round" + id="path4" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.0469,1758.6863 0.6028,-0.3315 -0.03,-0.03 -0.5727,0.3316 z m -0.2411,0.1808 h 0.03 z" + stroke-linecap="round" + id="path5" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.6497,1758.1739 3.436,-1.718 -0.06,-0.1205 -3.3757,2.0194 z m -0.7535,0.6028 0.1808,-0.09 z" + stroke-linecap="round" + id="path6" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8058,1758.837 h 0.03 l -0.6329,-1.0549 z m 0.2411,-0.1808 0.6028,-0.3014 z m -0.3315,0.1808 -0.1809,0.09 0.1809,-0.06 z" + stroke-linecap="round" + id="path7" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.7154,1758.8671 0.09,-0.03 h -0.03 z" + stroke-linecap="round" + id="path8" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8962,1758.7767 -0.09,0.06 0.2712,-0.1808 z m 0.7535,-0.3918 3.4058,-1.929 z m 3.4058,-1.929 -0.06,-0.1205 z m -4.6114,2.5921 h 0.03 z" + stroke-linecap="round" + id="path9" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.5647,1758.9877 -0.09,0.06 z" + stroke-linecap="round" + id="path10" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1286.1039,1741.5969 -253.2362,-420.1817 -15.0399,8.3789 -15.4317,7.746 c -46.44572,22.0926 -97.23162,33.5759 -148.65046,33.6362 -33.48554,0 -66.79024,-4.8525 -98.88934,-14.437 l -16.2756,-5.7266 -16.24546,-5.7568 -193.31796,469.5209 1.41658,0.5124 1.47686,0.5727 h 0.0301 l 0.39182,0.1808 37.10234,14.196 c 56.48236,19.9225 114.89368,33.9075 174.26948,41.7137 l 6.96234,0.9344 21.03772,2.2906 3.40582,0.3014 16.8784,1.4166 5.7266,0.3617 14.7686,0.8439 9.042,0.3617 11.7546,0.4219 20.97744,0.2411 c 47.50531,0 94.92825,-3.9533 141.77856,-11.8148 l 2.38106,-0.3316 14.8892,-2.7126 8.62,-1.6275 8.7105,-1.8386 14.4973,-3.1948 2.6222,-0.6028 c 71.2753,-16.6293 140.1311,-42.3059 204.8917,-76.4049 v -0.03 l 12.5684,-6.8719 25.5286,-14.4069 -0.422,-1.2056 0.633,1.085 0.8138,-0.4822 3.3455,-2.0194 z m -651.0541,-984.7642 11.99572,-9.28312 -0.9042,-1.507 -261.7659,-434.40782 -35.89674,24.74494 c -25.3176,18.62652 -49.82142,38.85046 -73.3909,60.64168 l 358.57558,358.39474 z" + stroke-linecap="round" + id="path11" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 250.25242,420.71145 -23.84074,24.89564 c -26.49306,28.66314 -50.69548,58.56202 -72.54698,89.87748 l -3.13456,4.49086 -7.29388,10.75998 -7.41444,11.3025 -2.68246,4.12918 C 52.417402,693.31024 6.6665831,839.64214 0.7535,990.23689 L 0.3014,1007.4468 0,1024.6568 h 507.79872 l 0.81378,-17.21 0.96448,-17.20991 c 6.66157,-67.86765 33.31549,-132.23153 76.58574,-184.93904 3.43596,-4.40044 7.6857,-8.52962 11.57376,-12.8095 l 11.54362,-12.77936 z m 1047.75678,-126.04548 -2.1098,-1.26588 -13.4725,-8.01724 -7.8666,-4.49086 -7.9268,-4.40044 -13.774,-7.44458 -2.1701,-1.14532 c -29.718,-15.49196 -60.3101,-29.29608 -91.5653,-41.32194 l -2.4112,-0.93434 -20.676,-7.44458 c -55.4576,-19.38002 -112.814,-32.97316 -171.1048,-40.59858 l -7.14318,-0.96448 -7.14318,-0.78364 -13.77398,-1.507 -3.85792,-0.33154 -16.4263,-1.38644 -20.67604,-1.26588 -7.47472,-0.3014 v 509.03446 c 26.13138,2.7126 52.02164,8.25836 77.12826,16.78798 L 1340.3258,322.45505 c -13.8641,-9.68615 -28.0162,-18.95339 -42.4371,-27.78908 z" + stroke-linecap="round" + id="path12" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 422.44224,307.83715 -8.8913,-14.7686 z m -9.13242,-14.79874 0.0603,0.0904 z m 423.73826,-122.18756 -17.20994,0.36168 c -35.92688,1.44672 -71.76334,5.1238 -107.32854,11.06138 l -2.35092,0.39182 -14.88916,2.7126 -8.62004,1.62756 -8.7406,1.83854 -14.4672,3.1647 -2.62218,0.57266 c -71.2811,16.63728 -140.12086,42.31656 -204.89172,76.43504 l -42.52754,24.02158 0.0603,0.0904 262.09744,435.16132 15.03986,-8.37892 15.40154,-7.77612 c 35.77618,-17.05924 74.23482,-27.84936 113.68808,-31.85798 l 17.20994,-1.38644 17.20994,-0.57266 V 170.48917 c -5.75674,0 -11.48334,0.24112 -17.20994,0.33154 z" + stroke-linecap="round" + id="path13" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1707.4611,982.73203 -0.8137,-13.68356 -0.4521,-6.84178 -1.6577,-20.25408 -1.718,-17.96344 -0.1809,-1.44672 -0.09,-0.69322 -2.592,-19.34988 c -0.03,-0.18084 -0.03,-0.42196 -0.09,-0.6028 -5.8472,-40.59858 -14.6179,-80.71492 -26.252,-120.07776 l -0.2411,-0.7535 -5.6362,-18.29498 -0.7836,-2.4112 -5.5156,-16.4263 -1.718,-4.43058 -5.154,-14.1658 -2.592,-6.90206 -4.5511,-11.66418 -3.7675,-9.1927 -3.7977,-9.042 -5.0635,-11.54362 -2.9236,-6.51024 -6.4198,-13.7137 -1.9892,-4.15932 -7.7159,-15.61252 -10.0667,-19.38002 c -0.1206,-0.18084 -0.211,-0.42196 -0.3316,-0.6028 -14.7686,-27.126 -30.9839,-53.46836 -48.5857,-78.84624 L 1181.91,913.16891 c 8.4693,24.98606 14.0753,50.84618 16.7578,77.09812 h 509.0646 z" + stroke-linecap="round" + id="path14" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1200.6872,1024.717 -0.8138,17.21 -0.9645,17.2099 c -6.5404,66.1272 -32.0689,130.8679 -76.5556,184.939 -3.4359,4.4005 -7.6857,8.5297 -11.5737,12.8095 l -11.5437,12.7794 359.0579,359.0578 12.056,-12.4478 12.056,-12.4478 c 26.5834,-28.7536 50.8461,-58.8936 72.7278,-90.1789 l 2.5619,-3.6771 7.8967,-11.6039 6.8116,-10.4284 3.436,-5.0937 c 82.3424,-129.1499 126.4071,-275.8714 132.3447,-423.7382 l 0.4521,-17.21 0.3014,-17.2099 h -508.2508 z" + stroke-linecap="round" + id="path15" /><path + style="fill:#424143;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1859.3065,19.66861 c -92.8915,-92.89148 -243.5312,-92.89148 -336.4227,0 -74.1143,74.11426 -88.9432,184.87876 -44.7881,273.85204 L 959.89872,811.71767 c -88.97328,-44.12496 -199.76792,-29.32622 -273.85204,44.78804 -92.79973,92.95408 -92.79973,243.49869 0,336.45279 92.96237,92.7914 243.50706,92.7779 336.45282,-0.03 74.1143,-74.1143 88.8829,-184.8788 44.788,-273.85205 l 518.3478,-518.34772 c 88.9732,44.12496 199.7679,29.32622 273.852,-44.78804 92.9216,-92.86134 92.9216,-243.50106 0,-336.39254 z" + stroke-linecap="round" + id="path16" /></g> </svg> diff --git a/docs/v1/index.html b/docs/v1/index.html index d022be8..278f709 100644 --- a/docs/v1/index.html +++ b/docs/v1/index.html @@ -12,6 +12,16 @@ display: none } </style> + +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-1GEGWXWNH4"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-1GEGWXWNH4'); +</script> <script src="js/setup.js"></script><script defer src="js/site.js"></script> </head> @@ -215,6 +225,12 @@ <h1>springdoc-openapi v1.8.0</h1> <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%"" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> </div> </div> @@ -265,18 +281,6 @@ <h2 id="Introduction"><a class="anchor" href="#Introduction"></a>1. Introduction <div class="paragraph"> <p>This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal).</p> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -319,7 +323,7 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>2. Gettin </div> </li> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> </ul> </div> @@ -341,18 +345,6 @@ <h2 id="getting-started"><a class="anchor" href="#getting-started"></a>2. Gettin springdoc.swagger-ui.path=/swagger-ui.html</code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -439,7 +431,7 @@ <h3 id="spring-webflux-support"><a class="anchor" href="#spring-webflux-support" <div class="ulist"> <ul> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> <li> <p>Add the library to the list of your project dependencies (No additional configuration is needed)</p> @@ -884,18 +876,6 @@ <h3 id="javadoc-support"><a class="anchor" href="#javadoc-support"></a>3.11. Jav </tr> </table> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -1205,18 +1185,6 @@ <h3 id="integration-with-wildfly"><a class="anchor" href="#integration-with-wild </dependency></code></pre> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -1323,11 +1291,6 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When true, automatically adds @ControllerAdvice responses to all the generated responses.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.groups.enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To disable the springdoc-openapi groups.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].group</p></td> <td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The group name</p></td> @@ -1494,18 +1457,6 @@ <h3 id="springdoc-openapi-core-properties"><a class="anchor" href="#springdoc-op </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div class="sect2"> <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties"></a>5.2. swagger-ui properties</h3> @@ -1567,12 +1518,12 @@ <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties">< </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.validatorUrl</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://validator.swagger.io/validator" class="bare">validator.swagger.io/validator</a></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI attempts to validate specs against swagger.io’s online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators <a href="https://github.com/swagger-api/validator-badge" target="_blank" rel="noopener">Validator Badge</a>. Setting it to either <code>none</code>, <code>127.0.0.1</code> or <code>localhost</code> will disable validation.</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.tryItOutEnabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Controls whether the "Try it out" section should be enabled by default.</p></td> </tr> <tr> @@ -1653,7 +1604,7 @@ <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties">< <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.supportedSubmitMethods</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=[get, put, post, delete, options, head, patch, trace]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.queryConfigEnabled</p></td> @@ -1767,18 +1718,6 @@ <h3 id="swagger-ui-properties"><a class="anchor" href="#swagger-ui-properties">< </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -1824,7 +1763,7 @@ <h3 id="maven-plugin"><a class="anchor" href="#maven-plugin"></a>6.1. Maven plug <plugin> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-maven-plugin</artifactId> - <version>1.4</version> + <version>1.5</version> <executions> <execution> <id>integration-test</id> @@ -1889,18 +1828,6 @@ <h3 id="gradle-plugin"><a class="anchor" href="#gradle-plugin"></a>6.2. Gradle p </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -1952,18 +1879,6 @@ <h3 id="source-code-of-the-demo-applications"><a class="anchor" href="#source-co </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -2009,7 +1924,7 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring <p><code>@ApiModel</code> → <code>@Schema</code></p> </li> <li> -<p><code>@ApiModelProperty(hidden = true)</code> → <code>@Schema(accessMode = READ_ONLY)</code></p> +<p><code>@ApiModelProperty(allowEmptyValue = true)</code> → <code>@Schema(nullable = true)</code></p> </li> <li> <p><code>@ApiModelProperty</code> → <code>@Schema</code></p> @@ -2153,18 +2068,6 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -2210,7 +2113,7 @@ <h3 id="dependencies-repository"><a class="anchor" href="#dependencies-repositor <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/groups/public/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/groups/public/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/search?q=g:org.springdoc" target="_blank" rel="noopener">https://central.sonatype.com/search?q=g:org.springdoc</a></p> </li> </ul> </div> @@ -2220,22 +2123,10 @@ <h3 id="dependencies-repository"><a class="anchor" href="#dependencies-repositor <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/" target="_blank" rel="noopener">https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/</a></p> </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -2264,6 +2155,12 @@ <h2 id="sponsor"><a class="anchor" href="#sponsor"></a>10. Sponsor</h2> <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> <div class="sect2"> <h3 id="benefits-of-being-a-bronze-sponsor"><a class="anchor" href="#benefits-of-being-a-bronze-sponsor"></a>10.1. Benefits of being a bronze sponsor</h3> @@ -2321,18 +2218,6 @@ <h3 id="benefits-of-being-a-gold-sponsor"><a class="anchor" href="#benefits-of-b </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> @@ -2354,18 +2239,6 @@ <h2 id="thanks"><a class="anchor" href="#thanks"></a>11. Special Thanks</h2> <img src="img/jetbrains.svg" alt="JetBrains"> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> <div class="sect1"> @@ -2569,7 +2442,7 @@ <h3 id="how-can-i-disable-the-try-it-out-button"><a class="anchor" href="#how-ca </div> <div class="listingblock"> <div class="content"> -<pre>springdoc.swagger-ui.supportedSubmitMethods="get", "put", "post", "delete", "options", "head", "patch", "trace"</pre> +<pre>springdoc.swagger-ui.supportedSubmitMethods=get, put, post, delete, options, head, patch, trace</pre> </div> </div> </div> @@ -2637,15 +2510,13 @@ <h3 id="how-can-i-set-swagger-properties-programmatically"><a class="anchor" hre </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">--- -@Bean +<pre class="highlight"><code class="language-kotlin" data-lang="kotlin">@Bean @Primary fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties { config.showCommonExtensions = true config.queryConfigEnabled = true return config } ---- </code></pre> </div> </div> @@ -2994,7 +2865,7 @@ <h3 id="how-can-i-customise-the-openapi-object"><a class="anchor" href="#how-can <div class="ulist"> <ul> <li> -<p><a href="https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webmvc-core/src/test/java/test/org/springdoc/api/app39/SpringDocApp39Test.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java</a></p> +<p><a href="https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app39/SpringDocTestApp.java" target="_blank" rel="noopener">https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app39/SpringDocTestApp.java</a></p> </li> </ul> </div> @@ -3004,9 +2875,9 @@ <h3 id="how-can-i-customise-the-openapi-object"><a class="anchor" href="#how-can <div class="listingblock"> <div class="content"> <pre class="highlight"><code class="language-java" data-lang="java">@Bean -public OpenApiCustomiser consumerTypeHeaderOpenAPICustomiser() { -return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream()) - .forEach(operation -> operation.addParametersItem(new HeaderParameter().$ref("#/components/parameters/myConsumerTypeHeader"))); +public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() { + return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream()) + .forEach(operation -> operation.addParametersItem(new HeaderParameter().$ref("#/components/parameters/myGlobalHeader"))); } </code></pre> </div> @@ -3646,11 +3517,6 @@ <h3 id="what-is-a-proper-way-to-set-up-swagger-ui-to-use-provided-spec-yml"><a c ObjectMapperProvider objectMapperProvider(SpringDocConfigProperties springDocConfigProperties){ return new ObjectMapperProvider(springDocConfigProperties); } - -@Bean -SpringDocUIConfiguration SpringDocUIConfiguration(Optional<SwaggerUiConfigProperties> optionalSwaggerUiConfigProperties){ - return new SpringDocUIConfiguration(optionalSwaggerUiConfigProperties); -} </code></pre> </div> </div> @@ -3887,20 +3753,25 @@ <h3 id="how-can-i-use-the-last-springdoc-openapi-snapshot"><a class="anchor" hre <p>For testing purposes only, you can test temporarily using the last <code>springdoc-openapi</code> SNAPSHOT</p> </li> <li> -<p>To achieve that, you can on your pom.xml or your settings.xml the following section:</p> +<p>To achieve that, configure your pom.xml file with the following <code><repositories></code> section:</p> </li> </ul> </div> <div class="listingblock"> <div class="content"> -<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> - <repository> - <id>snapshots-repo</id> - <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> - <releases><enabled>false</enabled></releases> - <snapshots><enabled>true</enabled></snapshots> - </repository> - </repositories></code></pre> +<pre class="highlight"><code class="language-xml" data-lang="xml"> <repositories> + <repository> + <name>Central Portal Snapshots</name> + <id>central-portal-snapshots</id> + <url>https://central.sonatype.com/repository/maven-snapshots/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories></code></pre> </div> </div> </div> @@ -4337,65 +4208,15 @@ <h3 id="why-am-i-getting-an-error-swagger-ui-unable-to-render-definition-when-ov </tr> </table> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:24:18 +0200 +Last updated 2025-02-11 21:58:31 +0100 </div> </div> - -<script async src="https://fundingchoicesmessages.google.com/i/pub-8127371937306964?ers=1" nonce="qTwyivKfliixkQVYt18svQ"></script><script nonce="qTwyivKfliixkQVYt18svQ">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script> - -<script>(function(){/* - -Copyright The Closure Library Authors. -SPDX-License-Identifier: Apache-2.0 -*/ - 'use strict';var aa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ca={a:!0},n={};try{n.__proto__=ca;m=n.a;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null} - var p=k,q=function(a,b){a.prototype=ba(b.prototype);a.prototype.constructor=a;if(p)p(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.v=b.prototype},r=this||self,da=function(){},t=function(a){return a};var u;var w=function(a,b){this.g=b===v?a:""};w.prototype.toString=function(){return this.g+""};var v={},x=function(a){if(void 0===u){var b=null;var c=r.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(d){r.console&&r.console.error(d.message)}u=b}else u=b}a=(b=u)?b.createScriptURL(a):a;return new w(a,v)};var A=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};var B={},C=null;var D="function"===typeof Uint8Array;function E(a,b,c){return"object"===typeof a?D&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):F(a,b,c):b(a)}function F(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),e=0;e<a.length;e++){var f=a[e];null!=f&&(d[e]=E(f,b,c))}Array.isArray(a)&&a.s&&G(d);return d}d={};for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(f=a[e],null!=f&&(d[e]=E(f,b,c)));return d} - function ea(a){return F(a,function(b){return"number"===typeof b?isFinite(b)?b:String(b):b},function(b){var c;void 0===c&&(c=0);if(!C){C={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],f=0;5>f;f++){var h=d.concat(e[f].split(""));B[f]=h;for(var g=0;g<h.length;g++){var l=h[g];void 0===C[l]&&(C[l]=g)}}}c=B[c];d=Array(Math.floor(b.length/3));e=c[64]||"";for(f=h=0;h<b.length-2;h+=3){var y=b[h],z=b[h+1];l=b[h+2];g=c[y>>2];y=c[(y&3)<< - 4|z>>4];z=c[(z&15)<<2|l>>6];l=c[l&63];d[f++]=""+g+y+z+l}g=0;l=e;switch(b.length-h){case 2:g=b[h+1],l=c[(g&15)<<2]||e;case 1:b=b[h],d[f]=""+c[b>>2]+c[(b&3)<<4|g>>4]+l+e}return d.join("")})}var fa={s:{value:!0,configurable:!0}},G=function(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,fa);return a};var H;var J=function(a,b,c){var d=H;H=null;a||(a=d);d=this.constructor.u;a||(a=d?[d]:[]);this.j=d?0:-1;this.h=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||"object"!=typeof d||Array.isArray(d)||D&&d instanceof Uint8Array))){this.l=a-this.j;this.i=d;break a}void 0!==b&&-1<b?(this.l=Math.max(b,a+1-this.j),this.i=null):this.l=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)a=c[b],a<this.l?(a+=this.j,(d=this.g[a])?G(d):this.g[a]=I):(d=this.l+this.j,this.g[d]||(this.i=this.g[d]={}),(d=this.i[a])? - G(d):this.i[a]=I)},I=Object.freeze(G([])),K=function(a,b){if(-1===b)return null;if(b<a.l){b+=a.j;var c=a.g[b];return c!==I?c:a.g[b]=G([])}if(a.i)return c=a.i[b],c!==I?c:a.i[b]=G([])},M=function(a,b){var c=L;if(-1===b)return null;a.h||(a.h={});if(!a.h[b]){var d=K(a,b);d&&(a.h[b]=new c(d))}return a.h[b]};J.prototype.toJSON=function(){var a=N(this,!1);return ea(a)}; - var N=function(a,b){if(a.h)for(var c in a.h)if(Object.prototype.hasOwnProperty.call(a.h,c)){var d=a.h[c];if(Array.isArray(d))for(var e=0;e<d.length;e++)d[e]&&N(d[e],b);else d&&N(d,b)}return a.g},O=function(a,b){H=b=b?JSON.parse(b):null;a=new a(b);H=null;return a};J.prototype.toString=function(){return N(this,!1).toString()};var P=function(a){J.call(this,a)};q(P,J);function ha(a){var b,c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document,d=null===(b=c.querySelector)||void 0===b?void 0:b.call(c,"script[nonce]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)};var Q=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)},R=function(a){this.g=a||r.document||document};R.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a,b,c,d,e,f){try{var h=a.g,g=Q(a.g,"SCRIPT");g.async=!0;g.src=b instanceof w&&b.constructor===w?b.g:"type_error:TrustedResourceUrl";ha(g);h.head.appendChild(g);g.addEventListener("load",function(){e();d&&h.head.removeChild(g)});g.addEventListener("error",function(){0<c?S(a,b,c-1,d,e,f):(d&&h.head.removeChild(g),f())})}catch(l){f()}};var ia=r.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ja=r.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),ka=r.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),la=function(a,b,c){this.h=a;this.j=new R(this.h);this.g=null;this.i=[];this.l=!1;this.o=b;this.m=c},V=function(a){if(a.h.body&&!a.l){var b= - function(){T(a);r.setTimeout(function(){return U(a,3)},50)};S(a.j,a.o,2,!0,function(){r[a.m]||b()},b);a.l=!0}},T=function(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.h.body.appendChild(d);a.i.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=ma(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=ma(0,10,0,10,0,10);b.style.display= - "flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Q(a.j.g,"IMG");d.className=A();d.src=ia;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ja;var h=X(a);h.textContent=ka;Y(a, - e,f);Y(a,e,h);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.h.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.h.body.appendChild(d),a.i.push(d)},Y=function(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)},W=function(a,b){return Math.floor(a+Math.random()*(b-a))},ma=function(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f, - 255)).toString()+")"},X=function(a){a=Q(a.j.g,"DIV");a.className=A();return a},U=function(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(na(a),T(a),r.setTimeout(function(){return U(a,b-1)},50))},na=function(a){var b=a.i;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:aa(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.i=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};var pa=function(a,b,c,d,e){var f=oa(c),h=function(l){l.appendChild(f);r.setTimeout(function(){f?(0!==f.offsetHeight&&0!==f.offsetWidth?b():a(),f.parentNode&&f.parentNode.removeChild(f)):a()},d)},g=function(l){document.body?h(document.body):0<l?r.setTimeout(function(){g(l-1)},e):b()};g(3)},oa=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var L=function(a){J.call(this,a)};q(L,J);var qa=function(a){J.call(this,a)};q(qa,J);var ra=function(a,b){this.l=a;this.m=new R(a.document);this.g=b;this.i=K(this.g,1);b=M(this.g,2);this.o=x(K(b,4)||"");this.h=!1;b=M(this.g,13);b=x(K(b,4)||"");this.j=new la(a.document,b,K(this.g,12))};ra.prototype.start=function(){sa(this)}; - var sa=function(a){ta(a);S(a.m,a.o,3,!1,function(){a:{var b=a.i;var c=r.btoa(b);if(c=r[c]){try{var d=O(P,r.atob(c))}catch(e){b=!1;break a}b=b===K(d,1)}else b=!1}b?Z(a,K(a.g,14)):(Z(a,K(a.g,8)),V(a.j))},function(){pa(function(){Z(a,K(a.g,7));V(a.j)},function(){return Z(a,K(a.g,6))},K(a.g,9),K(a.g,10),K(a.g,11))})},Z=function(a,b){a.h||(a.h=!0,a=new a.l.XMLHttpRequest,a.open("GET",b,!0),a.send())},ta=function(a){var b=r.btoa(a.i);a.l[b]&&Z(a,K(a.g,5))};(function(a,b){r[a]=function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];r[a]=da;b.apply(null,d)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ra(window,O(qa,window.atob(a)))).start()});}).call(this); - -window.__h82AlnkH6D91__("WyJwdWItODEyNzM3MTkzNzMwNjk2NCIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi04MTI3MzcxOTM3MzA2OTY0Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hVVXNtYllHLTNoZTRqREV4eUFqMXVjSW5zaEd5VUdYZ25fTG5SUENZNlVURW41VmhURGxxODJlcXlKdV94SzlEYzN5Rk5YSzJFZHpobWZ2dFJ5VzJnT2RBXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFg4Q0RxR05yYWtpUWlpakFtVHVnUnJ6d2NJdUxla185MTgxc0ZLUEkzcERDbzFGeEk4djk5MnhjdkExYi1sQ05OWVVJcFVyZ0llOWdtTmFmbF9SNnRfbFFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFZWX0JVWGw0cHJUWE1CdDRQOHhycVMwcUNxajBDaWVuRVFlYWJfNWg4ejNWeHkxTkI3akVZV05HVEpmcVdmQXI3bkxDcUZSSUZnMkR0NjdyLW42YkdjQ3dcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFdFSG1PTl9kNDdYMDRPVUdQZHF0bTB6aGVFSGR1cXhzUnJCWWMzV0NPRHJKOUR0TnlPOTh4bzdKWDB1WkFjQkZ3MXFYZFZ1QkdYU1d0VmhLcjVJbUlVLUFcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUZ3hNamN6TnpFNU16Y3pNRFk1TmpRXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi04MTI3MzcxOTM3MzA2OTY0LmpzP3VzcXBcdTAwM2RDQUUiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4VTIyeGRQMXk1c0VSRUd2ZmlBZ2JYVHhnbzM4YUVYSGZNeFFTZzhKYXcyTzBXdVc5OFpBVTFaVXAxTDc3ZWI2YkcwM29BNFUxdGNVSldXX1NvVGM3U01Xd1x1MDAzZFx1MDAzZCJd");</script> - - -<!-- Global site tag (gtag.js) - Google Analytics --> -<script async src="https://www.googletagmanager.com/gtag/js?id=G-1GEGWXWNH4"></script> -<script> - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('consent', 'default', { - 'ad_user_data': 'denied', - 'ad_personalization': 'denied', - 'ad_storage': 'denied', - 'analytics_storage': 'denied', - 'wait_for_update': 500, - }); - gtag('js', new Date()); - gtag('config', 'G-1GEGWXWNH4'); -</script> </div> </div> </div> diff --git a/docs/v1/intro.html b/docs/v1/intro.html index cad598d..5f657ae 100644 --- a/docs/v1/intro.html +++ b/docs/v1/intro.html @@ -76,24 +76,12 @@ <h2 id="Introduction"><a class="anchor" href="#Introduction"></a>Introduction</h <div class="paragraph"> <p>This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal).</p> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:21:21 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/v1/migrating-from-springfox.html b/docs/v1/migrating-from-springfox.html index 7623a51..c9ae792 100644 --- a/docs/v1/migrating-from-springfox.html +++ b/docs/v1/migrating-from-springfox.html @@ -71,7 +71,7 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring <p><code>@ApiModel</code> → <code>@Schema</code></p> </li> <li> -<p><code>@ApiModelProperty(hidden = true)</code> → <code>@Schema(accessMode = READ_ONLY)</code></p> +<p><code>@ApiModelProperty(allowEmptyValue = true)</code> → <code>@Schema(nullable = true)</code></p> </li> <li> <p><code>@ApiModelProperty</code> → <code>@Schema</code></p> @@ -215,24 +215,12 @@ <h2 id="migrating-from-springfox"><a class="anchor" href="#migrating-from-spring </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:21:28 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/v1/modules.html b/docs/v1/modules.html index 8d4600c..2d57b67 100644 --- a/docs/v1/modules.html +++ b/docs/v1/modules.html @@ -113,7 +113,7 @@ <h3 id="_spring_webflux_support"><a class="anchor" href="#_spring_webflux_suppor <div class="ulist"> <ul> <li> -<p>Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> +<p>Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml</p> </li> <li> <p>Add the library to the list of your project dependencies (No additional configuration is needed)</p> @@ -558,25 +558,13 @@ <h3 id="_javadoc_support"><a class="anchor" href="#_javadoc_support"></a>Javadoc </tr> </table> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:21:36 +0200 +Last updated 2025-05-04 17:47:09 +0200 </div> </div> </div> diff --git a/docs/v1/other-resources.html b/docs/v1/other-resources.html index b2ddea8..a8941ef 100644 --- a/docs/v1/other-resources.html +++ b/docs/v1/other-resources.html @@ -72,7 +72,7 @@ <h3 id="_dependencies_repository"><a class="anchor" href="#_dependencies_reposit <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/groups/public/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/groups/public/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/search?q=g:org.springdoc" target="_blank" rel="noopener">https://central.sonatype.com/search?q=g:org.springdoc</a></p> </li> </ul> </div> @@ -82,29 +82,17 @@ <h3 id="_dependencies_repository"><a class="anchor" href="#_dependencies_reposit <div class="ulist"> <ul> <li> -<p><a href="https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/" target="_blank" rel="noopener">https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/</a></p> +<p><a href="https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/" target="_blank" rel="noopener">https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/</a></p> </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:21:42 +0200 +Last updated 2025-05-04 16:32:34 +0200 </div> </div> </div> diff --git a/docs/v1/plugins.html b/docs/v1/plugins.html index 4470597..10f9e4f 100644 --- a/docs/v1/plugins.html +++ b/docs/v1/plugins.html @@ -71,7 +71,7 @@ <h3 id="_maven_plugin"><a class="anchor" href="#_maven_plugin"></a>Maven plugin< <plugin> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-maven-plugin</artifactId> - <version>1.4</version> + <version>1.5</version> <executions> <execution> <id>integration-test</id> @@ -136,25 +136,13 @@ <h3 id="_gradle_plugin"><a class="anchor" href="#_gradle_plugin"></a>Gradle plug </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-22 21:54:04 +0200 +Last updated 2025-05-04 15:06:04 +0200 </div> </div> </div> diff --git a/docs/v1/privacy-policy.html b/docs/v1/privacy-policy.html index a1a71b5..cb9f032 100644 --- a/docs/v1/privacy-policy.html +++ b/docs/v1/privacy-policy.html @@ -252,22 +252,10 @@ <div class="paragraph"> <p>If you have any questions or concerns about this Policy or its implementation, you may contact us at <a href="mailto:support@springdoc.org">support@springdoc.org</a>.</p> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:22:00 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/v1/properties.html b/docs/v1/properties.html index 1569b0a..27ff29f 100644 --- a/docs/v1/properties.html +++ b/docs/v1/properties.html @@ -64,37 +64,37 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-consumes-media-type</p></td> @@ -104,7 +104,7 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-produces-media-type</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong>/</strong></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The default produces media type.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The default produces media type.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.cache.disabled</p></td> @@ -132,59 +132,54 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When true, automatically adds @ControllerAdvice responses to all the generated responses.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.groups.enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To disable the springdoc-openapi groups.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].group</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The group name</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The group name</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].display-name</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>.The display name of the group.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. The display name of the group.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-scan</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to scan for a group (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to scan for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to match for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to match for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].paths-to-exclude</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">``</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of paths to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of paths to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].packages-to-exclude</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of packages to exclude for a group(comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of packages to exclude for a group (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].produces-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of produces mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of produces mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].consumes-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of consumes mediaTypes to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of consumes mediaTypes to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.group-configs[0].headers-to-match</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/*</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of headers to match (comma separated)</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of headers to match (comma separated)</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.webjars.prefix</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/webjars</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>, To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.resolve-schema-properties</p></td> @@ -232,14 +227,9 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To make spring security login-endpoint visible.</p></td> </tr> <tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-enabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Pre-loading setting to load OpenAPI on application startup.</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.pre-loading-locales</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>.The list of locales to load OpenAPI on application startup.(comma separated) If not specified, it will preload with the default Locale.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of locales to load OpenAPI on application startup (comma separated). If not specified, it will preload with the default Locale.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.writer-with-order-by-keys</p></td> @@ -274,7 +264,7 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-kotlin</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolproperty resolver on @Schema (extensionean</code>. To enable Kotlin support.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable Kotlin support.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-hateoas</p></td> @@ -288,8 +278,8 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.api-docs.version</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_0</code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To Choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openapi_3_1</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code>. To choose <code>OpenAPI 3.0</code> or <code>OpenAPI 3.1</code> (using the value <code>OPENAPI_3_1</code>).</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.default-flat-param-object</p></td> @@ -326,20 +316,28 @@ <h3 id="_springdoc_openapi_core_properties"><a class="anchor" href="#_springdoc_ <td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Adjust indentation when parsing the <code>@Operation</code> annotation in Kotlin.</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.allowed-locales</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>List of Strings</code>. The list of allowed locales for OpenAPI (comma separated, for example <code>US,fr-CA</code>).</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.enable-extra-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. To enable default support for extra Schemas, from <code>java.time</code> package like <code>LocalTime</code>, <code>Duration</code>, but also other Java classes like <code>java.util.Locale</code> or <code>java.nio.charset.Charset</code></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.explicit-object-schema</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Set explicit-object-schema to <code>true</code> to always include <code>type: object</code> in the schema, or to <code>false</code> to omit <code>type: object</code>.</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.use-arbitrary-schemas</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. When set to <code>true</code>, schemas without a defined type will be deserialized as an <code>ArbitrarySchema</code> (with no type), instead of an <code>ObjectSchema</code> with <code>type: object</code>.</p></td> +</tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div class="sect2"> <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties"></a>swagger-ui properties</h3> @@ -401,8 +399,8 @@ <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties" </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.validatorUrl</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://validator.swagger.io/validator" class="bare">https://validator.swagger.io/validator</a></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI attempts to validate specs against swagger.io’s online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators <a href="https://github.com/swagger-api/validator-badge" target="_blank" rel="noopener">Validator Badge</a>. Setting it to either <code>none</code>, <code>127.0.0.1</code> or <code>localhost</code> will disable validation.</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.tryItOutEnabled</p></td> @@ -487,7 +485,7 @@ <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties" <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.supportedSubmitMethods</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=[get, put, post, delete, options, head, patch, trace]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.queryConfigEnabled</p></td> @@ -601,18 +599,17 @@ <h3 id="_swagger_ui_properties"><a class="anchor" href="#_swagger_ui_properties" </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> </div> </div> </div> diff --git a/docs/v1/sponsor.html b/docs/v1/sponsor.html index 1f2b62f..a996f61 100644 --- a/docs/v1/sponsor.html +++ b/docs/v1/sponsor.html @@ -54,6 +54,12 @@ <h2 id="sponsor"><a class="anchor" href="#sponsor"></a>Sponsor</h2> <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> <div class="sect2"> <h3 id="_benefits_of_being_a_bronze_sponsor"><a class="anchor" href="#_benefits_of_being_a_bronze_sponsor"></a>Benefits of being a bronze sponsor</h3> @@ -111,25 +117,13 @@ <h3 id="_benefits_of_being_a_gold_sponsor"><a class="anchor" href="#_benefits_of </li> </ul> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:23:00 +0200 +Last updated 2025-02-11 21:58:31 +0100 </div> </div> </div> diff --git a/docs/v1/thanks.html b/docs/v1/thanks.html index 87fa9e2..3425017 100644 --- a/docs/v1/thanks.html +++ b/docs/v1/thanks.html @@ -47,24 +47,12 @@ <h2 id="thanks"><a class="anchor" href="#thanks"></a>Special Thanks</h2> <img src="img/jetbrains.svg" alt="JetBrains"> </div> </div> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> </div> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:23:03 +0200 +Last updated 2024-10-06 14:24:00 +0200 </div> </div> </div> diff --git a/docs/v1/ui-properties.html b/docs/v1/ui-properties.html index 9a927f6..7f559fa 100644 --- a/docs/v1/ui-properties.html +++ b/docs/v1/ui-properties.html @@ -65,12 +65,12 @@ </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.validatorUrl</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://validator.swagger.io/validator" class="bare">https://validator.swagger.io/validator</a></code></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI attempts to validate specs against swagger.io’s online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators <a href="https://github.com/swagger-api/validator-badge" target="_blank" rel="noopener">Validator Badge</a>. Setting it to either <code>none</code>, <code>127.0.0.1</code> or <code>localhost</code> will disable validation.</p></td> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.tryItOutEnabled</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>false</code></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code>. Controls whether the "Try it out" section should be enabled by default.</p></td> </tr> <tr> @@ -151,7 +151,7 @@ <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.supportedSubmitMethods</p></td> <td class="tableblock halign-left valign-top"></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Array=[get, put, post, delete, options, head, patch, trace]</code>. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">springdoc.swagger-ui.queryConfigEnabled</p></td> @@ -265,22 +265,10 @@ </tr> </tbody> </table> - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> </div> <div id="footer"> <div id="footer-text"> -Last updated 2024-06-18 01:22:34 +0200 +Last updated 2025-02-28 20:12:36 +0100 </div> </div> </div> diff --git a/pom.xml b/pom.xml index 3c4b216..5162730 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ <version>3.1.2-SNAPSHOT</version> <properties> - <springdoc.version>2.6.0</springdoc.version> + <springdoc.version>2.8.8</springdoc.version> <springdoc-legacy.version>1.8.0</springdoc-legacy.version> <java.version>1.8</java.version> <refdocs.build.directory>${project.basedir}/docs</refdocs.build.directory> diff --git a/src/docs/asciidoc/core-properties.adoc b/src/docs/asciidoc/core-properties.adoc index cd0b964..86b130b 100644 --- a/src/docs/asciidoc/core-properties.adoc +++ b/src/docs/asciidoc/core-properties.adoc @@ -5,31 +5,30 @@ |springdoc.api-docs.path | `/v3/api-docs` | `String`, For custom path of the OpenAPI documentation in Json format. |springdoc.api-docs.enabled | `true` | `Boolean`. To disable the springdoc-openapi endpoint (/v3/api-docs by default). -|springdoc.packages-to-scan | `*`| `List of Strings`.The list of packages to scan (comma separated) -|springdoc.paths-to-match | `/*`| `List of Strings`.The list of paths to match (comma separated) -|springdoc.produces-to-match | `/*`| `List of Strings`.The list of produces mediaTypes to match (comma separated) -|springdoc.headers-to-match | `/*`| `List of Strings`.The list of headers to match (comma separated) -|springdoc.consumes-to-match | `/*`| `List of Strings`.The list of consumes mediaTypes to match (comma separated) -|springdoc.paths-to-exclude | | `List of Strings`.The list of paths to exclude (comma separated) -|springdoc.packages-to-exclude | | `List of Strings`.The list of packages to exclude (comma separated) +|springdoc.packages-to-scan | `*`| `List of Strings`. The list of packages to scan (comma separated) +|springdoc.paths-to-match | `/*`| `List of Strings`. The list of paths to match (comma separated) +|springdoc.produces-to-match | `/*`| `List of Strings`. The list of produces mediaTypes to match (comma separated) +|springdoc.headers-to-match | `/*`| `List of Strings`. The list of headers to match (comma separated) +|springdoc.consumes-to-match | `/*`| `List of Strings`. The list of consumes mediaTypes to match (comma separated) +|springdoc.paths-to-exclude | | `List of Strings`. The list of paths to exclude (comma separated) +|springdoc.packages-to-exclude | | `List of Strings`. The list of packages to exclude (comma separated) |springdoc.default-consumes-media-type | `application/json` | `String`. The default consumes media type. -|springdoc.default-produces-media-type | `*/*` | `String`.The default produces media type. +|springdoc.default-produces-media-type | `*/*` | `String`. The default produces media type. |springdoc.cache.disabled | `false` | `Boolean`. To disable the springdoc-openapi cache of the calculated OpenAPI. |springdoc.show-actuator | `false` | `Boolean`. To display the actuator endpoints. |springdoc.auto-tag-classes | `true` | `Boolean`. To disable the springdoc-openapi automatic tags. |springdoc.model-and-view-allowed | `false` | `Boolean`. To allow RestControllers with ModelAndView return to appear in the OpenAPI description. |springdoc.override-with-generic-response | `true` | `Boolean`. When true, automatically adds @ControllerAdvice responses to all the generated responses. -|springdoc.api-docs.groups.enabled | `true` | `Boolean`. To disable the springdoc-openapi groups. -|springdoc.group-configs[0].group | | `String`.The group name -|springdoc.group-configs[0].display-name | | `String`.The display name of the group. -|springdoc.group-configs[0].packages-to-scan | `*`| `List of Strings`.The list of packages to scan for a group (comma separated) -|springdoc.group-configs[0].paths-to-match | `/*`| `List of Strings`.The list of paths to match for a group(comma separated) -|springdoc.group-configs[0].paths-to-exclude | ``| `List of Strings`.The list of paths to exclude for a group(comma separated) -|springdoc.group-configs[0].packages-to-exclude | | `List of Strings`.The list of packages to exclude for a group(comma separated) -|springdoc.group-configs[0].produces-to-match | `/*`| `List of Strings`.The list of produces mediaTypes to match (comma separated) -|springdoc.group-configs[0].consumes-to-match | `/*`| `List of Strings`.The list of consumes mediaTypes to match (comma separated) -|springdoc.group-configs[0].headers-to-match | `/*`| `List of Strings`.The list of headers to match (comma separated) -|springdoc.webjars.prefix | `/webjars` |`String`, To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux. +|springdoc.group-configs[0].group | | `String`. The group name +|springdoc.group-configs[0].display-name | | `String`. The display name of the group. +|springdoc.group-configs[0].packages-to-scan | `*`| `List of Strings`. The list of packages to scan for a group (comma separated) +|springdoc.group-configs[0].paths-to-match | `/*`| `List of Strings`. The list of paths to match for a group (comma separated) +|springdoc.group-configs[0].paths-to-exclude | ``| `List of Strings`. The list of paths to exclude for a group (comma separated) +|springdoc.group-configs[0].packages-to-exclude | | `List of Strings`. The list of packages to exclude for a group (comma separated) +|springdoc.group-configs[0].produces-to-match | `/*`| `List of Strings`. The list of produces mediaTypes to match (comma separated) +|springdoc.group-configs[0].consumes-to-match | `/*`| `List of Strings`. The list of consumes mediaTypes to match (comma separated) +|springdoc.group-configs[0].headers-to-match | `/*`| `List of Strings`. The list of headers to match (comma separated) +|springdoc.webjars.prefix | `/webjars` |`String`. To change the webjars prefix that is visible the URL of swagger-ui for spring-webflux. |springdoc.api-docs.resolve-schema-properties | `false` | `Boolean`. To enable property resolver on @Schema (name, title and description). |springdoc.remove-broken-reference-definitions | `true` | `Boolean`. To disable removal of broken reference definitions. |springdoc.writer-with-default-pretty-printer | `false` | `Boolean`. To enable pretty print of the OpenApi specification. @@ -39,18 +38,17 @@ |springdoc.model-converters.sort-converter.enabled | `true` | `Boolean`. To disable Sort converter. |springdoc.use-fqn | `false` | `Boolean`. To enable fully qualified names. |springdoc.show-login-endpoint | `false` | `Boolean`. To make spring security login-endpoint visible. -|springdoc.pre-loading-enabled | `false` | `Boolean`. Pre-loading setting to load OpenAPI on application startup. -|springdoc.pre-loading-locales | | `List of Strings`.The list of locales to load OpenAPI on application startup.(comma separated) If not specified, it will preload with the default Locale. +|springdoc.pre-loading-locales | | `List of Strings`. The list of locales to load OpenAPI on application startup (comma separated). If not specified, it will preload with the default Locale. |springdoc.writer-with-order-by-keys | `false` | `Boolean`. Enable a deterministic/alphabetical ordering. |springdoc.use-management-port | `false` | `Boolean`. To expose the swagger-ui on the actuator management port. |springdoc.disable-i18n | `false` | `Boolean`. To disable automatic translation using i18n. |springdoc.show-spring-cloud-functions | `true` | `Boolean`. To display the spring-cloud-function web endpoints. |springdoc.enable-groovy | `true` | `Boolean`. To enable Groovy support. |springdoc.enable-spring-security | `true` | `Boolean`. To enable spring-security support. -|springdoc.enable-kotlin | `true` | `Boolproperty resolver on @Schema (extensionean`. To enable Kotlin support. +|springdoc.enable-kotlin | `true` | `Boolean`. To enable Kotlin support. |springdoc.enable-hateoas | `true` | `Boolean`. To enable spring-hateoas support. |springdoc.enable-data-rest | `true` | `Boolean`. To enable spring-data-rest support. -|springdoc.api-docs.version | `openapi_3_0` | `String`. To Choose `OpenAPI 3.0` or `OpenAPI 3.1` (using the value `OPENAPI_3_1`). +|springdoc.api-docs.version | `openapi_3_1` | `String`. To choose `OpenAPI 3.0` or `OpenAPI 3.1` (using the value `OPENAPI_3_1`). |springdoc.default-flat-param-object | `false` | `Boolean`. To default flatten parameter. |springdoc.default-support-form-data | `false` | `Boolean`. To default set parameters to form data when specifying api to accept form data. |springdoc.nullable-request-parameter-enabled | `true` | `Boolean`. To default Enable Support for nullable request parameters in Kotlin. @@ -58,19 +56,9 @@ |springdoc.api-docs.resolve-extensions-properties | `false` | `Boolean`. To enable support of spring property resolver for `@ExtensionProperty`. |springdoc.enable-default-api-docs | `true` | `Boolean`. To enable default OpenAPI endpoint `/v3/api-docs`. |springdoc.trim-kotlin-indent | `false` | `Boolean`. Adjust indentation when parsing the `@Operation` annotation in Kotlin. +|springdoc.allowed-locales | | `List of Strings`. The list of allowed locales for OpenAPI (comma separated, for example `US,fr-CA`). +|springdoc.enable-extra-schemas | `true` | `Boolean`. To enable default support for extra Schemas, from `java.time` package like `LocalTime`, `Duration`, but also other Java classes like `java.util.Locale` or `java.nio.charset.Charset` +|springdoc.explicit-object-schema | `false` | `Boolean`. Set explicit-object-schema to `true` to always include `type: object` in the schema, or to `false` to omit `type: object`. +|springdoc.use-arbitrary-schemas | `false` | `Boolean`. When set to `true`, schemas without a defined type will be deserialized as an `ArbitrarySchema` (with no type), instead of an `ObjectSchema` with `type: object`. |=== -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/demos.adoc b/src/docs/asciidoc/demos.adoc index e0e55a1..684630a 100644 --- a/src/docs/asciidoc/demos.adoc +++ b/src/docs/asciidoc/demos.adoc @@ -15,16 +15,15 @@ image::img/pets.png[pets.png] * link:https://github.com/springdoc/springdoc-openapi-demos/tree/master[https://github.com/springdoc/springdoc-openapi-demos/tree/master, window="_blank"] ++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> ++++ diff --git a/src/docs/asciidoc/docinfo-footer.html b/src/docs/asciidoc/docinfo-footer.html index 31ac37b..e69de29 100644 --- a/src/docs/asciidoc/docinfo-footer.html +++ b/src/docs/asciidoc/docinfo-footer.html @@ -1,38 +0,0 @@ - -<script async src="https://fundingchoicesmessages.google.com/i/pub-8127371937306964?ers=1" nonce="qTwyivKfliixkQVYt18svQ"></script><script nonce="qTwyivKfliixkQVYt18svQ">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script> - -<script>(function(){/* - -Copyright The Closure Library Authors. -SPDX-License-Identifier: Apache-2.0 -*/ - 'use strict';var aa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ca={a:!0},n={};try{n.__proto__=ca;m=n.a;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null} - var p=k,q=function(a,b){a.prototype=ba(b.prototype);a.prototype.constructor=a;if(p)p(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.v=b.prototype},r=this||self,da=function(){},t=function(a){return a};var u;var w=function(a,b){this.g=b===v?a:""};w.prototype.toString=function(){return this.g+""};var v={},x=function(a){if(void 0===u){var b=null;var c=r.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(d){r.console&&r.console.error(d.message)}u=b}else u=b}a=(b=u)?b.createScriptURL(a):a;return new w(a,v)};var A=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};var B={},C=null;var D="function"===typeof Uint8Array;function E(a,b,c){return"object"===typeof a?D&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):F(a,b,c):b(a)}function F(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),e=0;e<a.length;e++){var f=a[e];null!=f&&(d[e]=E(f,b,c))}Array.isArray(a)&&a.s&&G(d);return d}d={};for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(f=a[e],null!=f&&(d[e]=E(f,b,c)));return d} - function ea(a){return F(a,function(b){return"number"===typeof b?isFinite(b)?b:String(b):b},function(b){var c;void 0===c&&(c=0);if(!C){C={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],f=0;5>f;f++){var h=d.concat(e[f].split(""));B[f]=h;for(var g=0;g<h.length;g++){var l=h[g];void 0===C[l]&&(C[l]=g)}}}c=B[c];d=Array(Math.floor(b.length/3));e=c[64]||"";for(f=h=0;h<b.length-2;h+=3){var y=b[h],z=b[h+1];l=b[h+2];g=c[y>>2];y=c[(y&3)<< - 4|z>>4];z=c[(z&15)<<2|l>>6];l=c[l&63];d[f++]=""+g+y+z+l}g=0;l=e;switch(b.length-h){case 2:g=b[h+1],l=c[(g&15)<<2]||e;case 1:b=b[h],d[f]=""+c[b>>2]+c[(b&3)<<4|g>>4]+l+e}return d.join("")})}var fa={s:{value:!0,configurable:!0}},G=function(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,fa);return a};var H;var J=function(a,b,c){var d=H;H=null;a||(a=d);d=this.constructor.u;a||(a=d?[d]:[]);this.j=d?0:-1;this.h=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||"object"!=typeof d||Array.isArray(d)||D&&d instanceof Uint8Array))){this.l=a-this.j;this.i=d;break a}void 0!==b&&-1<b?(this.l=Math.max(b,a+1-this.j),this.i=null):this.l=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)a=c[b],a<this.l?(a+=this.j,(d=this.g[a])?G(d):this.g[a]=I):(d=this.l+this.j,this.g[d]||(this.i=this.g[d]={}),(d=this.i[a])? - G(d):this.i[a]=I)},I=Object.freeze(G([])),K=function(a,b){if(-1===b)return null;if(b<a.l){b+=a.j;var c=a.g[b];return c!==I?c:a.g[b]=G([])}if(a.i)return c=a.i[b],c!==I?c:a.i[b]=G([])},M=function(a,b){var c=L;if(-1===b)return null;a.h||(a.h={});if(!a.h[b]){var d=K(a,b);d&&(a.h[b]=new c(d))}return a.h[b]};J.prototype.toJSON=function(){var a=N(this,!1);return ea(a)}; - var N=function(a,b){if(a.h)for(var c in a.h)if(Object.prototype.hasOwnProperty.call(a.h,c)){var d=a.h[c];if(Array.isArray(d))for(var e=0;e<d.length;e++)d[e]&&N(d[e],b);else d&&N(d,b)}return a.g},O=function(a,b){H=b=b?JSON.parse(b):null;a=new a(b);H=null;return a};J.prototype.toString=function(){return N(this,!1).toString()};var P=function(a){J.call(this,a)};q(P,J);function ha(a){var b,c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document,d=null===(b=c.querySelector)||void 0===b?void 0:b.call(c,"script[nonce]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)};var Q=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)},R=function(a){this.g=a||r.document||document};R.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a,b,c,d,e,f){try{var h=a.g,g=Q(a.g,"SCRIPT");g.async=!0;g.src=b instanceof w&&b.constructor===w?b.g:"type_error:TrustedResourceUrl";ha(g);h.head.appendChild(g);g.addEventListener("load",function(){e();d&&h.head.removeChild(g)});g.addEventListener("error",function(){0<c?S(a,b,c-1,d,e,f):(d&&h.head.removeChild(g),f())})}catch(l){f()}};var ia=r.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ja=r.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),ka=r.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),la=function(a,b,c){this.h=a;this.j=new R(this.h);this.g=null;this.i=[];this.l=!1;this.o=b;this.m=c},V=function(a){if(a.h.body&&!a.l){var b= - function(){T(a);r.setTimeout(function(){return U(a,3)},50)};S(a.j,a.o,2,!0,function(){r[a.m]||b()},b);a.l=!0}},T=function(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.h.body.appendChild(d);a.i.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=ma(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=ma(0,10,0,10,0,10);b.style.display= - "flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Q(a.j.g,"IMG");d.className=A();d.src=ia;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ja;var h=X(a);h.textContent=ka;Y(a, - e,f);Y(a,e,h);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.h.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.h.body.appendChild(d),a.i.push(d)},Y=function(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)},W=function(a,b){return Math.floor(a+Math.random()*(b-a))},ma=function(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f, - 255)).toString()+")"},X=function(a){a=Q(a.j.g,"DIV");a.className=A();return a},U=function(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(na(a),T(a),r.setTimeout(function(){return U(a,b-1)},50))},na=function(a){var b=a.i;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:aa(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.i=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};var pa=function(a,b,c,d,e){var f=oa(c),h=function(l){l.appendChild(f);r.setTimeout(function(){f?(0!==f.offsetHeight&&0!==f.offsetWidth?b():a(),f.parentNode&&f.parentNode.removeChild(f)):a()},d)},g=function(l){document.body?h(document.body):0<l?r.setTimeout(function(){g(l-1)},e):b()};g(3)},oa=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var L=function(a){J.call(this,a)};q(L,J);var qa=function(a){J.call(this,a)};q(qa,J);var ra=function(a,b){this.l=a;this.m=new R(a.document);this.g=b;this.i=K(this.g,1);b=M(this.g,2);this.o=x(K(b,4)||"");this.h=!1;b=M(this.g,13);b=x(K(b,4)||"");this.j=new la(a.document,b,K(this.g,12))};ra.prototype.start=function(){sa(this)}; - var sa=function(a){ta(a);S(a.m,a.o,3,!1,function(){a:{var b=a.i;var c=r.btoa(b);if(c=r[c]){try{var d=O(P,r.atob(c))}catch(e){b=!1;break a}b=b===K(d,1)}else b=!1}b?Z(a,K(a.g,14)):(Z(a,K(a.g,8)),V(a.j))},function(){pa(function(){Z(a,K(a.g,7));V(a.j)},function(){return Z(a,K(a.g,6))},K(a.g,9),K(a.g,10),K(a.g,11))})},Z=function(a,b){a.h||(a.h=!0,a=new a.l.XMLHttpRequest,a.open("GET",b,!0),a.send())},ta=function(a){var b=r.btoa(a.i);a.l[b]&&Z(a,K(a.g,5))};(function(a,b){r[a]=function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];r[a]=da;b.apply(null,d)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ra(window,O(qa,window.atob(a)))).start()});}).call(this); - -window.__h82AlnkH6D91__("WyJwdWItODEyNzM3MTkzNzMwNjk2NCIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi04MTI3MzcxOTM3MzA2OTY0Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hVVXNtYllHLTNoZTRqREV4eUFqMXVjSW5zaEd5VUdYZ25fTG5SUENZNlVURW41VmhURGxxODJlcXlKdV94SzlEYzN5Rk5YSzJFZHpobWZ2dFJ5VzJnT2RBXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFg4Q0RxR05yYWtpUWlpakFtVHVnUnJ6d2NJdUxla185MTgxc0ZLUEkzcERDbzFGeEk4djk5MnhjdkExYi1sQ05OWVVJcFVyZ0llOWdtTmFmbF9SNnRfbFFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFZWX0JVWGw0cHJUWE1CdDRQOHhycVMwcUNxajBDaWVuRVFlYWJfNWg4ejNWeHkxTkI3akVZV05HVEpmcVdmQXI3bkxDcUZSSUZnMkR0NjdyLW42YkdjQ3dcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFdFSG1PTl9kNDdYMDRPVUdQZHF0bTB6aGVFSGR1cXhzUnJCWWMzV0NPRHJKOUR0TnlPOTh4bzdKWDB1WkFjQkZ3MXFYZFZ1QkdYU1d0VmhLcjVJbUlVLUFcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUZ3hNamN6TnpFNU16Y3pNRFk1TmpRXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi04MTI3MzcxOTM3MzA2OTY0LmpzP3VzcXBcdTAwM2RDQUUiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4VTIyeGRQMXk1c0VSRUd2ZmlBZ2JYVHhnbzM4YUVYSGZNeFFTZzhKYXcyTzBXdVc5OFpBVTFaVXAxTDc3ZWI2YkcwM29BNFUxdGNVSldXX1NvVGM3U01Xd1x1MDAzZFx1MDAzZCJd");</script> - - -<!-- Global site tag (gtag.js) - Google Analytics --> -<script async src="https://www.googletagmanager.com/gtag/js?id=G-1GEGWXWNH4"></script> -<script> - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('consent', 'default', { - 'ad_user_data': 'denied', - 'ad_personalization': 'denied', - 'ad_storage': 'denied', - 'analytics_storage': 'denied', - 'wait_for_update': 500, - }); - gtag('js', new Date()); - gtag('config', 'G-1GEGWXWNH4'); -</script> \ No newline at end of file diff --git a/src/docs/asciidoc/docinfo.html b/src/docs/asciidoc/docinfo.html index 19e2462..112e384 100644 --- a/src/docs/asciidoc/docinfo.html +++ b/src/docs/asciidoc/docinfo.html @@ -3,3 +3,13 @@ display: none } </style> + +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-1GEGWXWNH4"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-1GEGWXWNH4'); +</script> \ No newline at end of file diff --git a/src/docs/asciidoc/faq.adoc b/src/docs/asciidoc/faq.adoc index d967882..f33303a 100644 --- a/src/docs/asciidoc/faq.adoc +++ b/src/docs/asciidoc/faq.adoc @@ -110,7 +110,7 @@ springdoc.swagger-ui.tagsSorter=alpha * You have to set the following property: [source,properties] ---- -springdoc.swagger-ui.supportedSubmitMethods="get", "put", "post", "delete", "options", "head", "patch", "trace" +springdoc.swagger-ui.supportedSubmitMethods=get, put, post, delete, options, head, patch, trace ---- === How can I add Reusable Enums ? @@ -143,7 +143,7 @@ springdoc.packagesToScan=package1, package2 These can be set by creating a `swaggerUiConfig` bean as follows: [source,kotlin] ---- +---- @Bean @Primary fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties { @@ -151,7 +151,7 @@ fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigPropertie config.queryConfigEnabled = true return config } ---- +---- === How can I ignore some field of model ? * You can use the following annotation on the top of the field that you want to hide: @@ -264,7 +264,7 @@ RequestHeader set X-Forwarded-Prefix "/custom-path" server.use-forward-headers=true ---- * If this is not enough, Spring Framework provides a `ForwardedHeaderFilter`. You can register it as a Servlet Filter in your application by setting server.forward-headers-strategy is set to FRAMEWORK. -* Since Spring Boot 3.2, this is the new property to handle reverse proxy headers: +* Since Spring Boot 2.2, this is the new property to handle reverse proxy headers: [source,properties] ---- @@ -281,6 +281,28 @@ ForwardedHeaderFilter forwardedHeaderFilter() { } ---- +* If you need to manually adjust the URL displayed in the Swagger UI, implement the `ServerBaseUrlCustomizer` interface. This might be necessary to remove the port number, for example. + +[source,java] +---- +@Bean +public class CustomServerBaseUrlCustomizer implements ServerBaseUrlCustomizer { + @Override + public String customize(String serverBaseUrl) { + try { + URL url = new URL(serverBaseUrl); + if (url.getHost().contains(".com")) { + serverBaseUrl = new URL(url.getProtocol(),url.getHost(),url.getFile()).toString(); + } + } catch (MalformedURLException ex) { + // nothing we can do + } + + return serverBaseUrl; + } +} +---- + === Is `@JsonView` annotations in Spring MVC APIs supported? * Yes @@ -294,12 +316,12 @@ springdoc.swagger-ui.path= /swagger-ui/api-docs.html === How can I test the Swagger UI? * You can have a look on this sample test of the UI: -** link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java[https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java, window="_blank"] +** link:https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java[https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocApp1Test.java, window="_blank"] === How can I customise the OpenAPI object ? * You can write your own implementation of `OpenApiCustomizer`. * An example is available on: -** link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/app39/SpringDocApp39Test.java[https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java, window="_blank"] +** link:https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java[https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java, window="_blank"] [source,java] ---- @@ -572,6 +594,35 @@ public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() { === Is file upload supported ? * The library supports the main file types: `MultipartFile`, `@RequestPart`, `FilePart` +* You can upload a file as follows: + +[source,java] +---- +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Encoding; +import io.swagger.v3.oas.annotations.parameters.RequestBody; + +@PostMapping(value = "/upload", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity<?> upload(@Parameter(description = "file") final MultipartFile file) { + return null; +} + +@PostMapping(value = "/uploadFileWithQuery", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}) +public ResponseEntity<?> uploadFileWithQuery(@Parameter(description = "file") @RequestPart("file") final MultipartFile file, + @Parameter(description = "An extra query parameter") @RequestParam String name) { + return null; +} + +@PostMapping(value = "/uploadFileWithJson", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE}, produces = { + MediaType.APPLICATION_JSON_VALUE}) +public ResponseEntity<?> uploadFileWithJson( + @RequestBody(content = @Content(encoding = @Encoding(name = "jsonRequest", contentType = MediaType.APPLICATION_JSON_VALUE))) + @Parameter(description = "An extra JSON payload sent with file") @RequestPart("jsonRequest") final JsonRequest jsonRequest, + @RequestPart("file") final MultipartFile file) { + return null; +} +---- === Can I use `@Parameter` inside `@Operation` annotation? * Yes, it's supported @@ -608,11 +659,6 @@ SpringDocConfigProperties springDocConfigProperties() { ObjectMapperProvider objectMapperProvider(SpringDocConfigProperties springDocConfigProperties){ return new ObjectMapperProvider(springDocConfigProperties); } - -@Bean -SpringDocUIConfiguration SpringDocUIConfiguration(Optional<SwaggerUiConfigProperties> optionalSwaggerUiConfigProperties){ - return new SpringDocUIConfiguration(optionalSwaggerUiConfigProperties); -} ---- * Then configure, the path of your custom UI yaml file. @@ -662,18 +708,23 @@ springdoc.group-configs[0].packages-to-scan=test.org.springdoc.api === How can I use the last `springdoc-openapi` SNAPSHOT ? * For testing purposes only, you can test temporarily using the last `springdoc-openapi` SNAPSHOT -* To achieve that, you can on your pom.xml or your settings.xml the following section: +* To achieve that, configure your pom.xml file with the following `<repositories>` section: [source,xml] ---- - <repositories> - <repository> - <id>snapshots-repo</id> - <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> - <releases><enabled>false</enabled></releases> - <snapshots><enabled>true</enabled></snapshots> - </repository> - </repositories> + <repositories> + <repository> + <name>Central Portal Snapshots</name> + <id>central-portal-snapshots</id> + <url>https://central.sonatype.com/repository/maven-snapshots/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories> ---- === How can I use enable `springdoc-openapi` MonetaryAmount support ? @@ -715,7 +766,7 @@ If the CSRF Token is required, swagger-ui automatically sends the new XSRF-TOKEN If your XSRF-TOKEN isn't standards-based, you can use a requestInterceptor to manually capture and attach the latest xsrf token to requests programmatically via spring resource transformer: -* link:https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor[https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor, window="_blank"] +* link:https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#requestinterceptor[https://github.com/swagger-api/swagger-ui/blob/main/docs/usage/configuration.md#requestinterceptor, window="_blank"] Starting from release v1.4.4 of springdoc-openapi, a new property is added to enable CSRF support, while using standard header names: [source,properties] @@ -944,6 +995,77 @@ public class OpenAPIConfig { } ---- +=== How to Integrate Open API 3 with Spring project (not Spring Boot)? +When your application is using spring without (spring-boot), you need to add beans and auto-configuration that are natively provided in spring-boot. + +For example, lets assume you want load the swagger-ui in spring-mvc application: + +* You mainly, need to add the springdoc-openapi module + +[source,xml] +---- +<dependency> + <groupId>org.springdoc</groupId> + <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> + <version>last.version</version> +</dependency> +---- + +* If you don't have the spring-boot and spring-boot-autoconfigure dependencies, you need to add them. And pay attention to the compatibility matrix, between you spring.version and spring-boot.version. For example, in this case (spring.version=5.1.12.RELEASE): + +[source,xml] +---- + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-autoconfigure</artifactId> + <version>3.3.3</version> + </dependency> +---- + +* Scan for the `springdoc-openapi` 'auto-configuration classes that spring-boot automatically loads for you. +* Depending on your module, you can find them on the file: `spring.factories` of each `springdoc-openapi` module. + +[source,java] +---- +@Configuration +@EnableWebMvc +public class WebConfig implements WebApplicationInitializer { + + @Override + public void onStartup(ServletContext servletContext) { + WebApplicationContext context = getContext(); + servletContext.addListener(new ContextLoaderListener(context)); + ServletRegistration.Dynamic dispatcher = servletContext.addServlet("RestServlet", + new DispatcherServlet(context)); + dispatcher.setLoadOnStartup(1); + dispatcher.addMapping("/*"); + } + + private AnnotationConfigWebApplicationContext getContext() { + AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + context.register(this.getClass(), + SpringDocConfiguration.class, + SpringDocConfigProperties.class, + SpringDocSpecPropertiesConfiguration.class, + SpringDocWebMvcConfiguration.class, + MultipleOpenApiSupportConfiguration.class, + SwaggerConfig.class, + SwaggerUiConfigProperties.class, + SwaggerUiOAuthProperties.class, + ); + return context; + } +} +---- + +* Depending on your module, you can find them on the file: `org.springframework.boot.autoconfigure.AutoConfiguration.imports` of each `springdoc-openapi` module. +* For groups usage make sure your `GroupedOpenApi` Beans are scanned. +* If additionally, you are using custom `context path`: `/my-servlet-path`. Make sure you declare the following property: +[source,properties] +---- +spring.mvc.servlet.path=/my-servlet-path +---- + === What is the compatibility matrix of `springdoc-openapi` with `spring-boot` ? `springdoc-openapi 2.x` is compatible with `spring-boot 3`. @@ -952,9 +1074,12 @@ In general, **you should only pick the last stable version as per today {springd More precisely, this the exhaustive list of spring-boot versions against which `springdoc-openapi` has been built: |=== -| spring-boot Versions | Minimum springdoc-openapi Versions - -|`3.0.x` | `2.0.x`+ +| Spring Boot Versions | Springdoc OpenAPI Versions +|`3.4.x` | `2.7.x` - `2.8.x` +|`3.3.x` | `2.6.x` +|`3.2.x` | `2.3.x` - `2.5.x` +|`3.1.x` | `2.2.x` +|`3.0.x` | `2.0.x` - `2.1.x` |`2.7.x`, `1.5.x` | `1.6.0`+ |`2.6.x`, `1.5.x` | `1.6.0`+ |`2.5.x`, `1.5.x` | `1.5.9`+ @@ -993,17 +1118,3 @@ This can be fixed by adding the `-parameters` arg to the Maven Compiler Plugin. </plugin> ---- -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/favicon.ico b/src/docs/asciidoc/favicon.ico index 0dfbcd7..45468e6 100644 Binary files a/src/docs/asciidoc/favicon.ico and b/src/docs/asciidoc/favicon.ico differ diff --git a/src/docs/asciidoc/features.adoc b/src/docs/asciidoc/features.adoc index c832293..34e8863 100644 --- a/src/docs/asciidoc/features.adoc +++ b/src/docs/asciidoc/features.adoc @@ -73,15 +73,15 @@ RouterFunction<?> routes() { Here is the link for some sample codes: -- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/HelloRouter.java[HelloRouter] -- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/quotes/QuotesRouter.java[QuotesRouter] -- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/book/BookRouter.java[BookRouter] -- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/employee/EmployeeRouter.java[EmployeeRouter] -- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app90/position/PositionRouter.java[PositionRouter] +- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/HelloRouter.java[HelloRouter] +- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/quotes/QuotesRouter.java[QuotesRouter] +- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/book/BookRouter.java[BookRouter] +- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/employee/EmployeeRouter.java[EmployeeRouter] +- link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api/app90/position/PositionRouter.java[PositionRouter] And the Demo code, using the functional endpoints DSL: -- link:https://github.com/springdoc/springdoc-openapi-demos/tree/2.x/demo-spring-boot-3-webflux-functional[Sample webflux application using functional DSL] +- link:https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-boot-3-webflux-functional[Sample webflux application using functional DSL] Since version `v1.3.8`, the support of functional endpoints has been added. Two main annotations have been added for this purpose: `@RouterOperations` and `@RouterOperation`. @@ -160,11 +160,11 @@ For that, `@RouterOperation` fields must help identify uniquely the concerned ro Some code samples are available on GITHUB of demos: -* link:https://github.com/springdoc/springdoc-openapi-demos/tree/master/springdoc-openapi-spring-boot-2-webflux-functional[Sample application with Functional Endpoints documentation, window="_blank"] +* link:https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-boot-3-webflux-functional[Sample application with Functional Endpoints documentation, window="_blank"] And some project tests: (from app69 to app75) -* link:https://github.com/springdoc/springdoc-openapi/tree/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api[Sample code with Functional Endpoints documentation, window="_blank"] +* link:https://github.com/springdoc/springdoc-openapi/tree/master/springdoc-openapi-starter-webflux-api/src/test/java/test/org/springdoc/api[Sample code with Functional Endpoints documentation, window="_blank"] === Integration with WildFly @@ -180,16 +180,15 @@ And some project tests: (from app69 to app75) ---- ++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> ++++ \ No newline at end of file diff --git a/src/docs/asciidoc/getting-started.adoc b/src/docs/asciidoc/getting-started.adoc index f82a480..8bc4a06 100644 --- a/src/docs/asciidoc/getting-started.adoc +++ b/src/docs/asciidoc/getting-started.adoc @@ -20,7 +20,7 @@ This will automatically deploy swagger-ui to a spring-boot application: ** server: The server name or IP ** port: The server port ** context-path: The context path of the application -* Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml +* Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml TIP: For custom path of the swagger documentation in HTML format, add a custom springdoc property, in your spring-boot configuration file: . @@ -32,16 +32,15 @@ springdoc.swagger-ui.path=/swagger-ui.html ---- ++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> ++++ \ No newline at end of file diff --git a/src/docs/asciidoc/img/LVM_Versicherung_2010_logo.svg.png b/src/docs/asciidoc/img/LVM_Versicherung_2010_logo.svg.png new file mode 100644 index 0000000..5aac7e9 Binary files /dev/null and b/src/docs/asciidoc/img/LVM_Versicherung_2010_logo.svg.png differ diff --git a/src/docs/asciidoc/img/gdnext.png b/src/docs/asciidoc/img/gdnext.png new file mode 100644 index 0000000..1523834 Binary files /dev/null and b/src/docs/asciidoc/img/gdnext.png differ diff --git a/src/docs/asciidoc/img/springdoc/springdoc-favicon.svg b/src/docs/asciidoc/img/springdoc/springdoc-favicon.svg new file mode 100644 index 0000000..21eeef6 --- /dev/null +++ b/src/docs/asciidoc/img/springdoc/springdoc-favicon.svg @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + - /* + - * + - * * + - * * * Copyright 2019-2022 the original author or authors. + - * * * + - * * * Licensed under the Apache License, Version 2.0 (the "License"); + - * * * you may not use this file except in compliance with the License. + - * * * You may obtain a copy of the License at + - * * * + - * * * https://www.apache.org/licenses/LICENSE-2.0 + - * * * + - * * * Unless required by applicable law or agreed to in writing, software + - * * * distributed under the License is distributed on an "AS IS" BASIS, + - * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - * * * See the License for the specific language governing permissions and + - * * * limitations under the License. + - * * + - * + - */ + --> + +<svg + version="1.1" + width="100" + height="100" + viewBox="0 -50 3000 2999.9999" + xml:space="preserve" + id="svg18" + sodipodi:docname="springdoc-logo-transparent.svg" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview18" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050" + inkscape:zoom="2.985" + inkscape:cx="0.83752094" + inkscape:cy="39.698492" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="svg18" + showgrid="false" /> <desc + id="desc1">Created with Fabric.js 4.6.0</desc> <defs + id="defs1"><inkscape:path-effect + effect="fillet_chamfer" + id="path-effect17" + is_visible="true" + lpeversion="1" + nodesatellites_param="F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1 @ F,0,0,1,0,600,0,1" + radius="600" + unit="px" + method="auto" + mode="F" + chamfer_steps="1" + flexible="false" + use_knot_distance="true" + apply_no_radius="true" + apply_with_radius="true" + only_selected="false" + hide_knots="false" /> </defs> <path + style="fill:#ffffff;stroke-width:0;stroke-dasharray:none;paint-order:markers fill stroke" + id="rect17" + width="3000" + height="3000" + x="-2.5000001e-05" + y="-50.000027" + ry="11.308664" + inkscape:path-effect="#path-effect17" + sodipodi:type="rect" + d="m 599.99997,-50.000027 1800.00003,0 A 600,600 45 0 1 3000,549.99997 V 2350 a 600,600 135 0 1 -600,600 H 599.99997 A 600,600 45 0 1 -2.5000001e-5,2350 V 549.99997 A 600,600 135 0 1 599.99997,-50.000027 Z" + inkscape:label="background" /><g + id="g1" + inkscape:label="logo" + transform="matrix(1.2440529,0,0,1.2440868,381.90959,312.2043)"><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="M 509.75782,1059.0163 H 0.78364 l 0.3014,7.4446 0.87406,14.3467 0.36168,6.1184 1.38644,16.577 0.33154,3.7072 1.98924,18.3251 0.18084,1.7783 2.59204,19.7115 c 5.8773,40.8096 14.64804,81.0164 26.34236,120.4998 l 0.18084,0.5123 6.08828,19.6212 0.33154,1.085 5.60604,16.6674 1.47686,4.1895 5.24436,14.4069 2.47148,6.5103 4.64156,12.056 3.67708,8.9515 3.88806,9.3133 5.15394,11.3326 3.014,6.9021 6.3294,13.563 2.1098,4.3402 7.62542,15.4015 1.2056,2.3509 9.31326,17.6621 1.98924,3.4359 436.1258,-263.1825 c -17.01331,-35.7916 -27.76813,-74.2338 -31.7977,-113.6579 z m -484.92246,233.5549 0.1507,0.4521 16.4263,-5.1539 z" + stroke-linecap="round" + id="path1" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 634.83882,1292.8123 -359.90174,359.9018 5.5759,5.1238 15.3714,13.6534 12.056,10.3681 3.3154,2.7428 13.98496,11.2723 1.8084,1.4166 15.40154,11.8149 c 0.21098,0.1206 0.39182,0.2713 0.57266,0.422 l 67.09164,45.3305 2.4112,1.4769 13.20132,7.8062 8.10766,4.6115 7.6857,4.31 14.0151,7.5651 1.9591,1.0248 39.66424,19.2594 193.67964,-470.4854 c -19.95126,-10.6449 -38.80893,-23.2234 -56.30152,-37.5544 z" + stroke-linecap="round" + id="path2" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 597.5255,1257.0964 -11.18194,-13.1712 -9.28312,-11.9957 -9.9462,-14.0754 -9.31326,-14.5274 -435.28188,262.1878 22.42416,35.2035 1.8084,2.6524 0.0904,0.1808 23.38864,32.9732 1.02476,1.3864 10.57914,13.774 12.68894,15.7632 2.7126,3.436 10.3983,12.2669 4.58128,5.2143 9.01186,10.338 5.1238,5.5457 2.32078,2.5017 6.90206,7.2336 2.74274,2.8331 12.056,12.3273 359.05782,-359.0578 -11.7546,-12.5684 z" + stroke-linecap="round" + id="path3" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1073.4662,1292.6315 -11.9957,9.3132 0.9042,1.507 261.7961,434.5586 35.8063,-24.6546 c 25.5888,-18.8977 50.1228,-39.1518 73.4813,-60.7321 l -358.5756,-358.5454 z" + stroke-linecap="round" + id="path4" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.0469,1758.6863 0.6028,-0.3315 -0.03,-0.03 -0.5727,0.3316 z m -0.2411,0.1808 h 0.03 z" + stroke-linecap="round" + id="path5" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.6497,1758.1739 3.436,-1.718 -0.06,-0.1205 -3.3757,2.0194 z m -0.7535,0.6028 0.1808,-0.09 z" + stroke-linecap="round" + id="path6" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8058,1758.837 h 0.03 l -0.6329,-1.0549 z m 0.2411,-0.1808 0.6028,-0.3014 z m -0.3315,0.1808 -0.1809,0.09 0.1809,-0.06 z" + stroke-linecap="round" + id="path7" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.7154,1758.8671 0.09,-0.03 h -0.03 z" + stroke-linecap="round" + id="path8" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8962,1758.7767 -0.09,0.06 0.2712,-0.1808 z m 0.7535,-0.3918 3.4058,-1.929 z m 3.4058,-1.929 -0.06,-0.1205 z m -4.6114,2.5921 h 0.03 z" + stroke-linecap="round" + id="path9" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.5647,1758.9877 -0.09,0.06 z" + stroke-linecap="round" + id="path10" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1286.1039,1741.5969 -253.2362,-420.1817 -15.0399,8.3789 -15.4317,7.746 c -46.44572,22.0926 -97.23162,33.5759 -148.65046,33.6362 -33.48554,0 -66.79024,-4.8525 -98.88934,-14.437 l -16.2756,-5.7266 -16.24546,-5.7568 -193.31796,469.5209 1.41658,0.5124 1.47686,0.5727 h 0.0301 l 0.39182,0.1808 37.10234,14.196 c 56.48236,19.9225 114.89368,33.9075 174.26948,41.7137 l 6.96234,0.9344 21.03772,2.2906 3.40582,0.3014 16.8784,1.4166 5.7266,0.3617 14.7686,0.8439 9.042,0.3617 11.7546,0.4219 20.97744,0.2411 c 47.50531,0 94.92825,-3.9533 141.77856,-11.8148 l 2.38106,-0.3316 14.8892,-2.7126 8.62,-1.6275 8.7105,-1.8386 14.4973,-3.1948 2.6222,-0.6028 c 71.2753,-16.6293 140.1311,-42.3059 204.8917,-76.4049 v -0.03 l 12.5684,-6.8719 25.5286,-14.4069 -0.422,-1.2056 0.633,1.085 0.8138,-0.4822 3.3455,-2.0194 z m -651.0541,-984.7642 11.99572,-9.28312 -0.9042,-1.507 -261.7659,-434.40782 -35.89674,24.74494 c -25.3176,18.62652 -49.82142,38.85046 -73.3909,60.64168 l 358.57558,358.39474 z" + stroke-linecap="round" + id="path11" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 250.25242,420.71145 -23.84074,24.89564 c -26.49306,28.66314 -50.69548,58.56202 -72.54698,89.87748 l -3.13456,4.49086 -7.29388,10.75998 -7.41444,11.3025 -2.68246,4.12918 C 52.417402,693.31024 6.6665831,839.64214 0.7535,990.23689 L 0.3014,1007.4468 0,1024.6568 h 507.79872 l 0.81378,-17.21 0.96448,-17.20991 c 6.66157,-67.86765 33.31549,-132.23153 76.58574,-184.93904 3.43596,-4.40044 7.6857,-8.52962 11.57376,-12.8095 l 11.54362,-12.77936 z m 1047.75678,-126.04548 -2.1098,-1.26588 -13.4725,-8.01724 -7.8666,-4.49086 -7.9268,-4.40044 -13.774,-7.44458 -2.1701,-1.14532 c -29.718,-15.49196 -60.3101,-29.29608 -91.5653,-41.32194 l -2.4112,-0.93434 -20.676,-7.44458 c -55.4576,-19.38002 -112.814,-32.97316 -171.1048,-40.59858 l -7.14318,-0.96448 -7.14318,-0.78364 -13.77398,-1.507 -3.85792,-0.33154 -16.4263,-1.38644 -20.67604,-1.26588 -7.47472,-0.3014 v 509.03446 c 26.13138,2.7126 52.02164,8.25836 77.12826,16.78798 L 1340.3258,322.45505 c -13.8641,-9.68615 -28.0162,-18.95339 -42.4371,-27.78908 z" + stroke-linecap="round" + id="path12" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 422.44224,307.83715 -8.8913,-14.7686 z m -9.13242,-14.79874 0.0603,0.0904 z m 423.73826,-122.18756 -17.20994,0.36168 c -35.92688,1.44672 -71.76334,5.1238 -107.32854,11.06138 l -2.35092,0.39182 -14.88916,2.7126 -8.62004,1.62756 -8.7406,1.83854 -14.4672,3.1647 -2.62218,0.57266 c -71.2811,16.63728 -140.12086,42.31656 -204.89172,76.43504 l -42.52754,24.02158 0.0603,0.0904 262.09744,435.16132 15.03986,-8.37892 15.40154,-7.77612 c 35.77618,-17.05924 74.23482,-27.84936 113.68808,-31.85798 l 17.20994,-1.38644 17.20994,-0.57266 V 170.48917 c -5.75674,0 -11.48334,0.24112 -17.20994,0.33154 z" + stroke-linecap="round" + id="path13" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1707.4611,982.73203 -0.8137,-13.68356 -0.4521,-6.84178 -1.6577,-20.25408 -1.718,-17.96344 -0.1809,-1.44672 -0.09,-0.69322 -2.592,-19.34988 c -0.03,-0.18084 -0.03,-0.42196 -0.09,-0.6028 -5.8472,-40.59858 -14.6179,-80.71492 -26.252,-120.07776 l -0.2411,-0.7535 -5.6362,-18.29498 -0.7836,-2.4112 -5.5156,-16.4263 -1.718,-4.43058 -5.154,-14.1658 -2.592,-6.90206 -4.5511,-11.66418 -3.7675,-9.1927 -3.7977,-9.042 -5.0635,-11.54362 -2.9236,-6.51024 -6.4198,-13.7137 -1.9892,-4.15932 -7.7159,-15.61252 -10.0667,-19.38002 c -0.1206,-0.18084 -0.211,-0.42196 -0.3316,-0.6028 -14.7686,-27.126 -30.9839,-53.46836 -48.5857,-78.84624 L 1181.91,913.16891 c 8.4693,24.98606 14.0753,50.84618 16.7578,77.09812 h 509.0646 z" + stroke-linecap="round" + id="path14" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1200.6872,1024.717 -0.8138,17.21 -0.9645,17.2099 c -6.5404,66.1272 -32.0689,130.8679 -76.5556,184.939 -3.4359,4.4005 -7.6857,8.5297 -11.5737,12.8095 l -11.5437,12.7794 359.0579,359.0578 12.056,-12.4478 12.056,-12.4478 c 26.5834,-28.7536 50.8461,-58.8936 72.7278,-90.1789 l 2.5619,-3.6771 7.8967,-11.6039 6.8116,-10.4284 3.436,-5.0937 c 82.3424,-129.1499 126.4071,-275.8714 132.3447,-423.7382 l 0.4521,-17.21 0.3014,-17.2099 h -508.2508 z" + stroke-linecap="round" + id="path15" /><path + style="fill:#424143;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1859.3065,19.66861 c -92.8915,-92.89148 -243.5312,-92.89148 -336.4227,0 -74.1143,74.11426 -88.9432,184.87876 -44.7881,273.85204 L 959.89872,811.71767 c -88.97328,-44.12496 -199.76792,-29.32622 -273.85204,44.78804 -92.79973,92.95408 -92.79973,243.49869 0,336.45279 92.96237,92.7914 243.50706,92.7779 336.45282,-0.03 74.1143,-74.1143 88.8829,-184.8788 44.788,-273.85205 l 518.3478,-518.34772 c 88.9732,44.12496 199.7679,29.32622 273.852,-44.78804 92.9216,-92.86134 92.9216,-243.50106 0,-336.39254 z" + stroke-linecap="round" + id="path16" /></g></svg> diff --git a/src/docs/asciidoc/img/springdoc/springdoc-logo.svg b/src/docs/asciidoc/img/springdoc/springdoc-logo.svg new file mode 100644 index 0000000..f3f7bb8 --- /dev/null +++ b/src/docs/asciidoc/img/springdoc/springdoc-logo.svg @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- + - /* + - * + - * * + - * * * Copyright 2019-2022 the original author or authors. + - * * * + - * * * Licensed under the Apache License, Version 2.0 (the "License"); + - * * * you may not use this file except in compliance with the License. + - * * * You may obtain a copy of the License at + - * * * + - * * * https://www.apache.org/licenses/LICENSE-2.0 + - * * * + - * * * Unless required by applicable law or agreed to in writing, software + - * * * distributed under the License is distributed on an "AS IS" BASIS, + - * * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + - * * * See the License for the specific language governing permissions and + - * * * limitations under the License. + - * * + - * + - */ + --> + +<svg + version="1.1" + width="100" + height="100" + viewBox="0 -50 3000 2999.9999" + xml:space="preserve" + id="svg18" + sodipodi:docname="springdoc-logo-transparent.svg" + inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview + id="namedview18" + pagecolor="#505050" + bordercolor="#eeeeee" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#505050" + inkscape:zoom="5.97" + inkscape:cx="43.718593" + inkscape:cy="55.360134" + inkscape:window-width="1920" + inkscape:window-height="1017" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:current-layer="svg18" + showgrid="false" /> <desc + id="desc1">Created with Fabric.js 4.6.0</desc> <defs + id="defs1"> </defs> <g + id="g1" + inkscape:label="logo" + transform="matrix(1.555066,0,0,1.5551086,4.2925699e-5,27.755431)"><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="M 509.75782,1059.0163 H 0.78364 l 0.3014,7.4446 0.87406,14.3467 0.36168,6.1184 1.38644,16.577 0.33154,3.7072 1.98924,18.3251 0.18084,1.7783 2.59204,19.7115 c 5.8773,40.8096 14.64804,81.0164 26.34236,120.4998 l 0.18084,0.5123 6.08828,19.6212 0.33154,1.085 5.60604,16.6674 1.47686,4.1895 5.24436,14.4069 2.47148,6.5103 4.64156,12.056 3.67708,8.9515 3.88806,9.3133 5.15394,11.3326 3.014,6.9021 6.3294,13.563 2.1098,4.3402 7.62542,15.4015 1.2056,2.3509 9.31326,17.6621 1.98924,3.4359 436.1258,-263.1825 c -17.01331,-35.7916 -27.76813,-74.2338 -31.7977,-113.6579 z m -484.92246,233.5549 0.1507,0.4521 16.4263,-5.1539 z" + stroke-linecap="round" + id="path1" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 634.83882,1292.8123 -359.90174,359.9018 5.5759,5.1238 15.3714,13.6534 12.056,10.3681 3.3154,2.7428 13.98496,11.2723 1.8084,1.4166 15.40154,11.8149 c 0.21098,0.1206 0.39182,0.2713 0.57266,0.422 l 67.09164,45.3305 2.4112,1.4769 13.20132,7.8062 8.10766,4.6115 7.6857,4.31 14.0151,7.5651 1.9591,1.0248 39.66424,19.2594 193.67964,-470.4854 c -19.95126,-10.6449 -38.80893,-23.2234 -56.30152,-37.5544 z" + stroke-linecap="round" + id="path2" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 597.5255,1257.0964 -11.18194,-13.1712 -9.28312,-11.9957 -9.9462,-14.0754 -9.31326,-14.5274 -435.28188,262.1878 22.42416,35.2035 1.8084,2.6524 0.0904,0.1808 23.38864,32.9732 1.02476,1.3864 10.57914,13.774 12.68894,15.7632 2.7126,3.436 10.3983,12.2669 4.58128,5.2143 9.01186,10.338 5.1238,5.5457 2.32078,2.5017 6.90206,7.2336 2.74274,2.8331 12.056,12.3273 359.05782,-359.0578 -11.7546,-12.5684 z" + stroke-linecap="round" + id="path3" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1073.4662,1292.6315 -11.9957,9.3132 0.9042,1.507 261.7961,434.5586 35.8063,-24.6546 c 25.5888,-18.8977 50.1228,-39.1518 73.4813,-60.7321 l -358.5756,-358.5454 z" + stroke-linecap="round" + id="path4" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.0469,1758.6863 0.6028,-0.3315 -0.03,-0.03 -0.5727,0.3316 z m -0.2411,0.1808 h 0.03 z" + stroke-linecap="round" + id="path5" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1291.6497,1758.1739 3.436,-1.718 -0.06,-0.1205 -3.3757,2.0194 z m -0.7535,0.6028 0.1808,-0.09 z" + stroke-linecap="round" + id="path6" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8058,1758.837 h 0.03 l -0.6329,-1.0549 z m 0.2411,-0.1808 0.6028,-0.3014 z m -0.3315,0.1808 -0.1809,0.09 0.1809,-0.06 z" + stroke-linecap="round" + id="path7" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.7154,1758.8671 0.09,-0.03 h -0.03 z" + stroke-linecap="round" + id="path8" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.8962,1758.7767 -0.09,0.06 0.2712,-0.1808 z m 0.7535,-0.3918 3.4058,-1.929 z m 3.4058,-1.929 -0.06,-0.1205 z m -4.6114,2.5921 h 0.03 z" + stroke-linecap="round" + id="path9" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1290.5647,1758.9877 -0.09,0.06 z" + stroke-linecap="round" + id="path10" /><path + style="fill:#93d500;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1286.1039,1741.5969 -253.2362,-420.1817 -15.0399,8.3789 -15.4317,7.746 c -46.44572,22.0926 -97.23162,33.5759 -148.65046,33.6362 -33.48554,0 -66.79024,-4.8525 -98.88934,-14.437 l -16.2756,-5.7266 -16.24546,-5.7568 -193.31796,469.5209 1.41658,0.5124 1.47686,0.5727 h 0.0301 l 0.39182,0.1808 37.10234,14.196 c 56.48236,19.9225 114.89368,33.9075 174.26948,41.7137 l 6.96234,0.9344 21.03772,2.2906 3.40582,0.3014 16.8784,1.4166 5.7266,0.3617 14.7686,0.8439 9.042,0.3617 11.7546,0.4219 20.97744,0.2411 c 47.50531,0 94.92825,-3.9533 141.77856,-11.8148 l 2.38106,-0.3316 14.8892,-2.7126 8.62,-1.6275 8.7105,-1.8386 14.4973,-3.1948 2.6222,-0.6028 c 71.2753,-16.6293 140.1311,-42.3059 204.8917,-76.4049 v -0.03 l 12.5684,-6.8719 25.5286,-14.4069 -0.422,-1.2056 0.633,1.085 0.8138,-0.4822 3.3455,-2.0194 z m -651.0541,-984.7642 11.99572,-9.28312 -0.9042,-1.507 -261.7659,-434.40782 -35.89674,24.74494 c -25.3176,18.62652 -49.82142,38.85046 -73.3909,60.64168 l 358.57558,358.39474 z" + stroke-linecap="round" + id="path11" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 250.25242,420.71145 -23.84074,24.89564 c -26.49306,28.66314 -50.69548,58.56202 -72.54698,89.87748 l -3.13456,4.49086 -7.29388,10.75998 -7.41444,11.3025 -2.68246,4.12918 C 52.417402,693.31024 6.6665831,839.64214 0.7535,990.23689 L 0.3014,1007.4468 0,1024.6568 h 507.79872 l 0.81378,-17.21 0.96448,-17.20991 c 6.66157,-67.86765 33.31549,-132.23153 76.58574,-184.93904 3.43596,-4.40044 7.6857,-8.52962 11.57376,-12.8095 l 11.54362,-12.77936 z m 1047.75678,-126.04548 -2.1098,-1.26588 -13.4725,-8.01724 -7.8666,-4.49086 -7.9268,-4.40044 -13.774,-7.44458 -2.1701,-1.14532 c -29.718,-15.49196 -60.3101,-29.29608 -91.5653,-41.32194 l -2.4112,-0.93434 -20.676,-7.44458 c -55.4576,-19.38002 -112.814,-32.97316 -171.1048,-40.59858 l -7.14318,-0.96448 -7.14318,-0.78364 -13.77398,-1.507 -3.85792,-0.33154 -16.4263,-1.38644 -20.67604,-1.26588 -7.47472,-0.3014 v 509.03446 c 26.13138,2.7126 52.02164,8.25836 77.12826,16.78798 L 1340.3258,322.45505 c -13.8641,-9.68615 -28.0162,-18.95339 -42.4371,-27.78908 z" + stroke-linecap="round" + id="path12" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 422.44224,307.83715 -8.8913,-14.7686 z m -9.13242,-14.79874 0.0603,0.0904 z m 423.73826,-122.18756 -17.20994,0.36168 c -35.92688,1.44672 -71.76334,5.1238 -107.32854,11.06138 l -2.35092,0.39182 -14.88916,2.7126 -8.62004,1.62756 -8.7406,1.83854 -14.4672,3.1647 -2.62218,0.57266 c -71.2811,16.63728 -140.12086,42.31656 -204.89172,76.43504 l -42.52754,24.02158 0.0603,0.0904 262.09744,435.16132 15.03986,-8.37892 15.40154,-7.77612 c 35.77618,-17.05924 74.23482,-27.84936 113.68808,-31.85798 l 17.20994,-1.38644 17.20994,-0.57266 V 170.48917 c -5.75674,0 -11.48334,0.24112 -17.20994,0.33154 z" + stroke-linecap="round" + id="path13" /><path + style="fill:#4d5a31;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1707.4611,982.73203 -0.8137,-13.68356 -0.4521,-6.84178 -1.6577,-20.25408 -1.718,-17.96344 -0.1809,-1.44672 -0.09,-0.69322 -2.592,-19.34988 c -0.03,-0.18084 -0.03,-0.42196 -0.09,-0.6028 -5.8472,-40.59858 -14.6179,-80.71492 -26.252,-120.07776 l -0.2411,-0.7535 -5.6362,-18.29498 -0.7836,-2.4112 -5.5156,-16.4263 -1.718,-4.43058 -5.154,-14.1658 -2.592,-6.90206 -4.5511,-11.66418 -3.7675,-9.1927 -3.7977,-9.042 -5.0635,-11.54362 -2.9236,-6.51024 -6.4198,-13.7137 -1.9892,-4.15932 -7.7159,-15.61252 -10.0667,-19.38002 c -0.1206,-0.18084 -0.211,-0.42196 -0.3316,-0.6028 -14.7686,-27.126 -30.9839,-53.46836 -48.5857,-78.84624 L 1181.91,913.16891 c 8.4693,24.98606 14.0753,50.84618 16.7578,77.09812 h 509.0646 z" + stroke-linecap="round" + id="path14" /><path + style="fill:#6ba43a;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1200.6872,1024.717 -0.8138,17.21 -0.9645,17.2099 c -6.5404,66.1272 -32.0689,130.8679 -76.5556,184.939 -3.4359,4.4005 -7.6857,8.5297 -11.5737,12.8095 l -11.5437,12.7794 359.0579,359.0578 12.056,-12.4478 12.056,-12.4478 c 26.5834,-28.7536 50.8461,-58.8936 72.7278,-90.1789 l 2.5619,-3.6771 7.8967,-11.6039 6.8116,-10.4284 3.436,-5.0937 c 82.3424,-129.1499 126.4071,-275.8714 132.3447,-423.7382 l 0.4521,-17.21 0.3014,-17.2099 h -508.2508 z" + stroke-linecap="round" + id="path15" /><path + style="fill:#424143;fill-rule:nonzero;stroke:none;stroke-width:30.14;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + vector-effect="non-scaling-stroke" + d="m 1859.3065,19.66861 c -92.8915,-92.89148 -243.5312,-92.89148 -336.4227,0 -74.1143,74.11426 -88.9432,184.87876 -44.7881,273.85204 L 959.89872,811.71767 c -88.97328,-44.12496 -199.76792,-29.32622 -273.85204,44.78804 -92.79973,92.95408 -92.79973,243.49869 0,336.45279 92.96237,92.7914 243.50706,92.7779 336.45282,-0.03 74.1143,-74.1143 88.8829,-184.8788 44.788,-273.85205 l 518.3478,-518.34772 c 88.9732,44.12496 199.7679,29.32622 273.852,-44.78804 92.9216,-92.86134 92.9216,-243.50106 0,-336.39254 z" + stroke-linecap="round" + id="path16" /></g> </svg> diff --git a/src/docs/asciidoc/index.adoc b/src/docs/asciidoc/index.adoc index 7f26b58..ff19087 100644 --- a/src/docs/asciidoc/index.adoc +++ b/src/docs/asciidoc/index.adoc @@ -19,6 +19,12 @@ This project is sponsored by <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> ++++ diff --git a/src/docs/asciidoc/intro.adoc b/src/docs/asciidoc/intro.adoc index bab79f0..5859101 100644 --- a/src/docs/asciidoc/intro.adoc +++ b/src/docs/asciidoc/intro.adoc @@ -26,17 +26,3 @@ image::img/spring-io-24.png[spring.io conference] This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal). -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/migrating-from-springdoc-v1.adoc b/src/docs/asciidoc/migrating-from-springdoc-v1.adoc index 9e1d0b4..aadf7f8 100644 --- a/src/docs/asciidoc/migrating-from-springdoc-v1.adoc +++ b/src/docs/asciidoc/migrating-from-springdoc-v1.adoc @@ -54,17 +54,4 @@ In addition: * Replace `springdoc-openapi-ui` by `springdoc-openapi-starter-webmvc-ui` * Replace `springdoc-openapi-webflux-ui` by `springdoc-openapi-starter-webflux-ui` -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ + diff --git a/src/docs/asciidoc/migrating-from-springfox.adoc b/src/docs/asciidoc/migrating-from-springfox.adoc index 9346af6..4d74d2e 100644 --- a/src/docs/asciidoc/migrating-from-springfox.adoc +++ b/src/docs/asciidoc/migrating-from-springfox.adoc @@ -20,7 +20,7 @@ Package for swagger 3 annotations is `io.swagger.v3.oas.annotations`. - `@ApiImplicitParam` -> `@Parameter` - `@ApiImplicitParams` -> `@Parameters` - `@ApiModel` -> `@Schema` -- `@ApiModelProperty(hidden = true)` -> `@Schema(accessMode = READ_ONLY)` +- `@ApiModelProperty(allowEmptyValue = true)` -> `@Schema(nullable = true)` - `@ApiModelProperty` -> `@Schema` - `@ApiOperation(value = "foo", notes = "bar")` -> `@Operation(summary = "foo", description = "bar")` - `@ApiParam` -> `@Parameter` @@ -110,17 +110,4 @@ springdoc.pathsToMatch=/v1, /api/balance/** ** link:index.html#how-can-i-hide-an-operation-or-a-controller-from-documentation[how-can-i-hide-an-operation-or-a-controller-from-documentation] -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ + diff --git a/src/docs/asciidoc/modules.adoc b/src/docs/asciidoc/modules.adoc index 7bfd4f1..295a55a 100644 --- a/src/docs/asciidoc/modules.adoc +++ b/src/docs/asciidoc/modules.adoc @@ -35,7 +35,7 @@ springdoc.api-docs.path=/api-docs === Spring WebFlux support -* Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml +* Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml * Add the library to the list of your project dependencies (No additional configuration is needed) [source,xml, subs="attributes+"] @@ -206,7 +206,7 @@ public Function<Flux<String>, Flux<String>> lowercase() { Some code samples are available on GITHUB of demos: -* link:https://github.com/springdoc/springdoc-openapi-demos/tree/master/springdoc-openapi-spring-cloud-function[Sample applications with Spring Cloud Function Web, window="_blank"] +* link:https://github.com/springdoc/springdoc-openapi-demos/tree/master/demo-spring-cloud-function[Sample applications with Spring Cloud Function Web, window="_blank"] === Kotlin support @@ -288,17 +288,21 @@ Ensure that you add it as well as its annotation processor to your project's dep TIP: If both a swagger-annotation description and a javadoc comment are present. The value of the swagger-annotation description will be used. -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file +=== Springdoc-openapi BOM +Starting from version `v2.8.7`, `springdoc-openapi` provides a BOM (Bill of Materials) to manage the dependencies of the project. +You can declare it in your project as follows: + +[source,xml, subs="attributes+"] +---- + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.springdoc</groupId> + <artifactId>springdoc-openapi-bom</artifactId> + <version>{springdoc-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> +---- \ No newline at end of file diff --git a/src/docs/asciidoc/other-resources.adoc b/src/docs/asciidoc/other-resources.adoc index b721e5c..eca3349 100644 --- a/src/docs/asciidoc/other-resources.adoc +++ b/src/docs/asciidoc/other-resources.adoc @@ -18,24 +18,10 @@ The artifacts can be viewed accessed at the following locations: Releases: -* link:https://s01.oss.sonatype.org/content/groups/public/org/springdoc/[https://s01.oss.sonatype.org/content/groups/public/org/springdoc/, window="_blank"] +* link:https://central.sonatype.com/search?q=g:org.springdoc[https://central.sonatype.com/search?q=g:org.springdoc, window="_blank"] Snapshots: -* link:https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/[https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/, window="_blank", window="_blank"] - - -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file +* link:https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/[https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/, window="_blank", window="_blank"] + + diff --git a/src/docs/asciidoc/plugins.adoc b/src/docs/asciidoc/plugins.adoc index 998b489..aabccf4 100644 --- a/src/docs/asciidoc/plugins.adoc +++ b/src/docs/asciidoc/plugins.adoc @@ -37,7 +37,7 @@ In order to use this functionality, you need to add the plugin declaration on th <plugin> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-maven-plugin</artifactId> - <version>1.4</version> + <version>1.5</version> <executions> <execution> <id>integration-test</id> @@ -79,17 +79,3 @@ For more custom configuration of `springdoc-openapi-gradle-plugin` ,you can cons * link:https://github.com/springdoc/springdoc-openapi-gradle-plugin[https://github.com/springdoc/springdoc-openapi-gradle-plugin, window="_blank"] -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/properties.adoc b/src/docs/asciidoc/properties.adoc index 9d21278..b0948ba 100644 --- a/src/docs/asciidoc/properties.adoc +++ b/src/docs/asciidoc/properties.adoc @@ -1,7 +1,7 @@ [[properties]] == Springdoc-openapi Properties -`springdoc-openapi` relies on standard link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config[spring configuration properties, window="_blank"] (yml or properties) using the standard files locations. +`springdoc-openapi` relies on standard link:https://docs.spring.io/spring-boot/reference/features/external-config.html[spring configuration properties, window="_blank"] (yml or properties) using the standard files locations. === springdoc-openapi core properties diff --git a/src/docs/asciidoc/sponsor.adoc b/src/docs/asciidoc/sponsor.adoc index 34b8cd7..ed4bc53 100644 --- a/src/docs/asciidoc/sponsor.adoc +++ b/src/docs/asciidoc/sponsor.adoc @@ -19,6 +19,12 @@ Thank you to our bronze sponsors! <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> ++++ @@ -44,17 +50,4 @@ Gold sponsors donate $500 per month to the project, and get the following benefi - If issues are not created by the end of the month, the remaining ones are lost. -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ + diff --git a/src/docs/asciidoc/thanks.adoc b/src/docs/asciidoc/thanks.adoc index 9d47d2c..b3c8920 100644 --- a/src/docs/asciidoc/thanks.adoc +++ b/src/docs/asciidoc/thanks.adoc @@ -7,17 +7,3 @@ image::img/jetbrains.svg[JetBrains] -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/ui-properties.adoc b/src/docs/asciidoc/ui-properties.adoc index c466f9b..ecce440 100644 --- a/src/docs/asciidoc/ui-properties.adoc +++ b/src/docs/asciidoc/ui-properties.adoc @@ -7,7 +7,7 @@ |springdoc.swagger-ui.enabled | `true` | `Boolean`. To disable the swagger-ui endpoint (/swagger-ui.html by default). |springdoc.swagger-ui.configUrl | `/v3/api-docs/swagger-config` | `String`. URL to fetch external configuration document from. |springdoc.swagger-ui.layout | `BaseLayout` | `String`. The name of a component available via the plugin system to use as the top-level layout for Swagger UI. -|springdoc.swagger-ui.validatorUrl | `https://validator.swagger.io/validator` | By default, Swagger UI attempts to validate specs against swagger.io's online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators link:https://github.com/swagger-api/validator-badge[Validator Badge, window="_blank"]. Setting it to either `none`, `127.0.0.1` or `localhost` will disable validation. +|springdoc.swagger-ui.validatorUrl | | By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator. |springdoc.swagger-ui.tryItOutEnabled | `false` |`Boolean`. Controls whether the "Try it out" section should be enabled by default. |springdoc.swagger-ui.filter | `false` | `Boolean OR String`. If set, enables filtering. The top bar will show an edit box that you can use to filter the tagged operations that are shown. Can be Boolean to enable or disable, or a string, in which case filtering will be enabled using that string as the filter expression. Filtering is case sensitive matching the filter expression anywhere inside the tag. |springdoc.swagger-ui.operationsSorter | | `Function=(a => a)`. Apply a sort to the operation list of each API. It can be 'alpha' (sort by paths alphanumerically), 'method' (sort by HTTP method) or a function (see Array.prototype.sort() to know how sort function works). Default is the order returned by the server unchanged. @@ -24,7 +24,7 @@ |springdoc.swagger-ui.showExtensions | `false` | `Boolean`. Controls the display of vendor extension (`x-`) fields and values for Operations, Parameters, and Schema. |springdoc.swagger-ui.url | | `String`.To configure, the path of a custom OpenAPI file . Will be ignored if `urls` is used. |springdoc.swagger-ui.showCommonExtensions | `false` | `Boolean`. Controls the display of extensions (`pattern`, `maxLength`, `minLength`, `maximum`, `minimum`) fields and values for Parameters. -|springdoc.swagger-ui.supportedSubmitMethods | | `Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]`. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display. +|springdoc.swagger-ui.supportedSubmitMethods | | `Array=[get, put, post, delete, options, head, patch, trace]`. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display. |springdoc.swagger-ui.queryConfigEnabled | `false` | `Boolean`. Disabled since `v1.6.0`. This parameter enables (legacy) overriding configuration parameters via URL search params. link:https://github.com/swagger-api/swagger-ui/security/advisories/GHSA-qrmm-w75w-3wpx[See security advisory , window="_blank"] before enabling this feature. |springdoc.swagger-ui.oauth. additionalQueryStringParams | | `String`. Additional query parameters added to authorizationUrl and tokenUrl. |springdoc.swagger-ui.disable-swagger-default-url | `false` | `Boolean`. To disable the swagger-ui default petstore url. (Available since v1.4.1). @@ -51,17 +51,16 @@ |=== ++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> +<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" + crossorigin="anonymous"></script> +<ins class="adsbygoogle" + style="display:block; text-align:center;" + data-ad-layout="in-article" + data-ad-format="fluid" + data-ad-client="ca-pub-8127371937306964" + data-ad-slot="6163211104"></ins> +<script> + (adsbygoogle = window.adsbygoogle || []).push({}); +</script> ++++ diff --git a/src/docs/asciidoc/v1/core-properties.adoc b/src/docs/asciidoc/v1/core-properties.adoc index 6416863..19d8c0f 100644 --- a/src/docs/asciidoc/v1/core-properties.adoc +++ b/src/docs/asciidoc/v1/core-properties.adoc @@ -19,7 +19,6 @@ |springdoc.auto-tag-classes | `true` | `Boolean`. To disable the springdoc-openapi automatic tags. |springdoc.model-and-view-allowed | `false` | `Boolean`. To allow RestControllers with ModelAndView return to appear in the OpenAPI description. |springdoc.override-with-generic-response | `true` | `Boolean`. When true, automatically adds @ControllerAdvice responses to all the generated responses. -|springdoc.api-docs.groups.enabled | `true` | `Boolean`. To disable the springdoc-openapi groups. |springdoc.group-configs[0].group | | `String`.The group name |springdoc.group-configs[0].display-name | | `String`.The display name of the group. |springdoc.group-configs[0].packages-to-scan | `*`| `List of Strings`.The list of packages to scan for a group (comma separated) @@ -55,17 +54,3 @@ |springdoc.trim-kotlin-indent | `false` | `Boolean`. Adjust indentation when parsing the `@Operation` annotation in Kotlin. |=== -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/demos.adoc b/src/docs/asciidoc/v1/demos.adoc index 8ce0aa7..d3f69e3 100644 --- a/src/docs/asciidoc/v1/demos.adoc +++ b/src/docs/asciidoc/v1/demos.adoc @@ -16,17 +16,3 @@ image::img/pets.png[pets.png] === Source code of the Demo Applications * link:https://github.com/springdoc/springdoc-openapi-demos.git[https://github.com/springdoc/springdoc-openapi-demos.git, window="_blank"] -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/docinfo-footer.html b/src/docs/asciidoc/v1/docinfo-footer.html index e19f1b2..e69de29 100644 --- a/src/docs/asciidoc/v1/docinfo-footer.html +++ b/src/docs/asciidoc/v1/docinfo-footer.html @@ -1,39 +0,0 @@ - -<script async src="https://fundingchoicesmessages.google.com/i/pub-8127371937306964?ers=1" nonce="qTwyivKfliixkQVYt18svQ"></script><script nonce="qTwyivKfliixkQVYt18svQ">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script> - -<script>(function(){/* - -Copyright The Closure Library Authors. -SPDX-License-Identifier: Apache-2.0 -*/ - 'use strict';var aa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ca={a:!0},n={};try{n.__proto__=ca;m=n.a;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null} - var p=k,q=function(a,b){a.prototype=ba(b.prototype);a.prototype.constructor=a;if(p)p(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.v=b.prototype},r=this||self,da=function(){},t=function(a){return a};var u;var w=function(a,b){this.g=b===v?a:""};w.prototype.toString=function(){return this.g+""};var v={},x=function(a){if(void 0===u){var b=null;var c=r.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(d){r.console&&r.console.error(d.message)}u=b}else u=b}a=(b=u)?b.createScriptURL(a):a;return new w(a,v)};var A=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};var B={},C=null;var D="function"===typeof Uint8Array;function E(a,b,c){return"object"===typeof a?D&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):F(a,b,c):b(a)}function F(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),e=0;e<a.length;e++){var f=a[e];null!=f&&(d[e]=E(f,b,c))}Array.isArray(a)&&a.s&&G(d);return d}d={};for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(f=a[e],null!=f&&(d[e]=E(f,b,c)));return d} - function ea(a){return F(a,function(b){return"number"===typeof b?isFinite(b)?b:String(b):b},function(b){var c;void 0===c&&(c=0);if(!C){C={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],f=0;5>f;f++){var h=d.concat(e[f].split(""));B[f]=h;for(var g=0;g<h.length;g++){var l=h[g];void 0===C[l]&&(C[l]=g)}}}c=B[c];d=Array(Math.floor(b.length/3));e=c[64]||"";for(f=h=0;h<b.length-2;h+=3){var y=b[h],z=b[h+1];l=b[h+2];g=c[y>>2];y=c[(y&3)<< - 4|z>>4];z=c[(z&15)<<2|l>>6];l=c[l&63];d[f++]=""+g+y+z+l}g=0;l=e;switch(b.length-h){case 2:g=b[h+1],l=c[(g&15)<<2]||e;case 1:b=b[h],d[f]=""+c[b>>2]+c[(b&3)<<4|g>>4]+l+e}return d.join("")})}var fa={s:{value:!0,configurable:!0}},G=function(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,fa);return a};var H;var J=function(a,b,c){var d=H;H=null;a||(a=d);d=this.constructor.u;a||(a=d?[d]:[]);this.j=d?0:-1;this.h=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||"object"!=typeof d||Array.isArray(d)||D&&d instanceof Uint8Array))){this.l=a-this.j;this.i=d;break a}void 0!==b&&-1<b?(this.l=Math.max(b,a+1-this.j),this.i=null):this.l=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)a=c[b],a<this.l?(a+=this.j,(d=this.g[a])?G(d):this.g[a]=I):(d=this.l+this.j,this.g[d]||(this.i=this.g[d]={}),(d=this.i[a])? - G(d):this.i[a]=I)},I=Object.freeze(G([])),K=function(a,b){if(-1===b)return null;if(b<a.l){b+=a.j;var c=a.g[b];return c!==I?c:a.g[b]=G([])}if(a.i)return c=a.i[b],c!==I?c:a.i[b]=G([])},M=function(a,b){var c=L;if(-1===b)return null;a.h||(a.h={});if(!a.h[b]){var d=K(a,b);d&&(a.h[b]=new c(d))}return a.h[b]};J.prototype.toJSON=function(){var a=N(this,!1);return ea(a)}; - var N=function(a,b){if(a.h)for(var c in a.h)if(Object.prototype.hasOwnProperty.call(a.h,c)){var d=a.h[c];if(Array.isArray(d))for(var e=0;e<d.length;e++)d[e]&&N(d[e],b);else d&&N(d,b)}return a.g},O=function(a,b){H=b=b?JSON.parse(b):null;a=new a(b);H=null;return a};J.prototype.toString=function(){return N(this,!1).toString()};var P=function(a){J.call(this,a)};q(P,J);function ha(a){var b,c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document,d=null===(b=c.querySelector)||void 0===b?void 0:b.call(c,"script[nonce]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)};var Q=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)},R=function(a){this.g=a||r.document||document};R.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a,b,c,d,e,f){try{var h=a.g,g=Q(a.g,"SCRIPT");g.async=!0;g.src=b instanceof w&&b.constructor===w?b.g:"type_error:TrustedResourceUrl";ha(g);h.head.appendChild(g);g.addEventListener("load",function(){e();d&&h.head.removeChild(g)});g.addEventListener("error",function(){0<c?S(a,b,c-1,d,e,f):(d&&h.head.removeChild(g),f())})}catch(l){f()}};var ia=r.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ja=r.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),ka=r.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),la=function(a,b,c){this.h=a;this.j=new R(this.h);this.g=null;this.i=[];this.l=!1;this.o=b;this.m=c},V=function(a){if(a.h.body&&!a.l){var b= - function(){T(a);r.setTimeout(function(){return U(a,3)},50)};S(a.j,a.o,2,!0,function(){r[a.m]||b()},b);a.l=!0}},T=function(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.h.body.appendChild(d);a.i.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=ma(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=ma(0,10,0,10,0,10);b.style.display= - "flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Q(a.j.g,"IMG");d.className=A();d.src=ia;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ja;var h=X(a);h.textContent=ka;Y(a, - e,f);Y(a,e,h);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.h.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.h.body.appendChild(d),a.i.push(d)},Y=function(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)},W=function(a,b){return Math.floor(a+Math.random()*(b-a))},ma=function(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f, - 255)).toString()+")"},X=function(a){a=Q(a.j.g,"DIV");a.className=A();return a},U=function(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(na(a),T(a),r.setTimeout(function(){return U(a,b-1)},50))},na=function(a){var b=a.i;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:aa(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.i=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};var pa=function(a,b,c,d,e){var f=oa(c),h=function(l){l.appendChild(f);r.setTimeout(function(){f?(0!==f.offsetHeight&&0!==f.offsetWidth?b():a(),f.parentNode&&f.parentNode.removeChild(f)):a()},d)},g=function(l){document.body?h(document.body):0<l?r.setTimeout(function(){g(l-1)},e):b()};g(3)},oa=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var L=function(a){J.call(this,a)};q(L,J);var qa=function(a){J.call(this,a)};q(qa,J);var ra=function(a,b){this.l=a;this.m=new R(a.document);this.g=b;this.i=K(this.g,1);b=M(this.g,2);this.o=x(K(b,4)||"");this.h=!1;b=M(this.g,13);b=x(K(b,4)||"");this.j=new la(a.document,b,K(this.g,12))};ra.prototype.start=function(){sa(this)}; - var sa=function(a){ta(a);S(a.m,a.o,3,!1,function(){a:{var b=a.i;var c=r.btoa(b);if(c=r[c]){try{var d=O(P,r.atob(c))}catch(e){b=!1;break a}b=b===K(d,1)}else b=!1}b?Z(a,K(a.g,14)):(Z(a,K(a.g,8)),V(a.j))},function(){pa(function(){Z(a,K(a.g,7));V(a.j)},function(){return Z(a,K(a.g,6))},K(a.g,9),K(a.g,10),K(a.g,11))})},Z=function(a,b){a.h||(a.h=!0,a=new a.l.XMLHttpRequest,a.open("GET",b,!0),a.send())},ta=function(a){var b=r.btoa(a.i);a.l[b]&&Z(a,K(a.g,5))};(function(a,b){r[a]=function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];r[a]=da;b.apply(null,d)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ra(window,O(qa,window.atob(a)))).start()});}).call(this); - -window.__h82AlnkH6D91__("WyJwdWItODEyNzM3MTkzNzMwNjk2NCIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi04MTI3MzcxOTM3MzA2OTY0Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hVVXNtYllHLTNoZTRqREV4eUFqMXVjSW5zaEd5VUdYZ25fTG5SUENZNlVURW41VmhURGxxODJlcXlKdV94SzlEYzN5Rk5YSzJFZHpobWZ2dFJ5VzJnT2RBXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFg4Q0RxR05yYWtpUWlpakFtVHVnUnJ6d2NJdUxla185MTgxc0ZLUEkzcERDbzFGeEk4djk5MnhjdkExYi1sQ05OWVVJcFVyZ0llOWdtTmFmbF9SNnRfbFFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFZWX0JVWGw0cHJUWE1CdDRQOHhycVMwcUNxajBDaWVuRVFlYWJfNWg4ejNWeHkxTkI3akVZV05HVEpmcVdmQXI3bkxDcUZSSUZnMkR0NjdyLW42YkdjQ3dcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFdFSG1PTl9kNDdYMDRPVUdQZHF0bTB6aGVFSGR1cXhzUnJCWWMzV0NPRHJKOUR0TnlPOTh4bzdKWDB1WkFjQkZ3MXFYZFZ1QkdYU1d0VmhLcjVJbUlVLUFcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUZ3hNamN6TnpFNU16Y3pNRFk1TmpRXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi04MTI3MzcxOTM3MzA2OTY0LmpzP3VzcXBcdTAwM2RDQUUiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4VTIyeGRQMXk1c0VSRUd2ZmlBZ2JYVHhnbzM4YUVYSGZNeFFTZzhKYXcyTzBXdVc5OFpBVTFaVXAxTDc3ZWI2YkcwM29BNFUxdGNVSldXX1NvVGM3U01Xd1x1MDAzZFx1MDAzZCJd");</script> - - - -<!-- Global site tag (gtag.js) - Google Analytics --> -<script async src="https://www.googletagmanager.com/gtag/js?id=G-1GEGWXWNH4"></script> -<script> - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('consent', 'default', { - 'ad_user_data': 'denied', - 'ad_personalization': 'denied', - 'ad_storage': 'denied', - 'analytics_storage': 'denied', - 'wait_for_update': 500, - }); - gtag('js', new Date()); - gtag('config', 'G-1GEGWXWNH4'); -</script> \ No newline at end of file diff --git a/src/docs/asciidoc/v1/faq.adoc b/src/docs/asciidoc/v1/faq.adoc index 6ccec22..04630f2 100644 --- a/src/docs/asciidoc/v1/faq.adoc +++ b/src/docs/asciidoc/v1/faq.adoc @@ -110,7 +110,7 @@ springdoc.swagger-ui.tagsSorter=alpha * You have to set the following property: [source,properties] ---- -springdoc.swagger-ui.supportedSubmitMethods="get", "put", "post", "delete", "options", "head", "patch", "trace" +springdoc.swagger-ui.supportedSubmitMethods=get, put, post, delete, options, head, patch, trace ---- === How can I add Reusable Enums? @@ -143,7 +143,7 @@ springdoc.packagesToScan=package1, package2 These can be set by creating a `swaggerUiConfig` bean as follows: [source,kotlin] ---- +---- @Bean @Primary fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties { @@ -151,7 +151,7 @@ fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigPropertie config.queryConfigEnabled = true return config } ---- +---- === How can I ignore some field of model? * You can use the following annotation on the top of the field that you want to hide: @@ -301,14 +301,14 @@ springdoc.swagger-ui.path= /swagger-ui/api-docs.html === How can I customise the OpenAPI object? * You can write your own implementation of `OpenApiCustomizer`. * An example is available on: -** link:https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webmvc-core/src/test/java/test/org/springdoc/api/app39/SpringDocApp39Test.java[https://github.com/springdoc/springdoc-openapi/blob/master/springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java, window="_blank"] +** link:https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app39/SpringDocTestApp.java[https://github.com/springdoc/springdoc-openapi/blob/main/springdoc-openapi-starter-webmvc-api/src/test/java/test/org/springdoc/api/v31/app39/SpringDocTestApp.java, window="_blank"] [source,java] ---- @Bean -public OpenApiCustomiser consumerTypeHeaderOpenAPICustomiser() { -return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream()) - .forEach(operation -> operation.addParametersItem(new HeaderParameter().$ref("#/components/parameters/myConsumerTypeHeader"))); +public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() { + return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream()) + .forEach(operation -> operation.addParametersItem(new HeaderParameter().$ref("#/components/parameters/myGlobalHeader"))); } ---- @@ -606,11 +606,6 @@ SpringDocConfigProperties springDocConfigProperties() { ObjectMapperProvider objectMapperProvider(SpringDocConfigProperties springDocConfigProperties){ return new ObjectMapperProvider(springDocConfigProperties); } - -@Bean -SpringDocUIConfiguration SpringDocUIConfiguration(Optional<SwaggerUiConfigProperties> optionalSwaggerUiConfigProperties){ - return new SpringDocUIConfiguration(optionalSwaggerUiConfigProperties); -} ---- * Then configure, the path of your custom UI yaml file. @@ -734,18 +729,23 @@ spring.mvc.servlet.path=/my-servlet-path === How can I use the last `springdoc-openapi` SNAPSHOT ? * For testing purposes only, you can test temporarily using the last `springdoc-openapi` SNAPSHOT -* To achieve that, you can on your pom.xml or your settings.xml the following section: +* To achieve that, configure your pom.xml file with the following `<repositories>` section: [source,xml] ---- - <repositories> - <repository> - <id>snapshots-repo</id> - <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> - <releases><enabled>false</enabled></releases> - <snapshots><enabled>true</enabled></snapshots> - </repository> - </repositories> + <repositories> + <repository> + <name>Central Portal Snapshots</name> + <id>central-portal-snapshots</id> + <url>https://central.sonatype.com/repository/maven-snapshots/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories> ---- === How can I use enable `springdoc-openapi` MonetaryAmount support? @@ -1032,17 +1032,3 @@ When overriding the default spring-boot registered `HttpMessageConverter`, you s ---- NOTE: Order is very important, when registering `HttpMessageConverters`. -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/features.adoc b/src/docs/asciidoc/v1/features.adoc index 5e8cac7..2b12c02 100644 --- a/src/docs/asciidoc/v1/features.adoc +++ b/src/docs/asciidoc/v1/features.adoc @@ -179,17 +179,3 @@ And some project tests: (from app69 to app75) </dependency> ---- -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/getting-started.adoc b/src/docs/asciidoc/v1/getting-started.adoc index cd196cc..b4f3015 100644 --- a/src/docs/asciidoc/v1/getting-started.adoc +++ b/src/docs/asciidoc/v1/getting-started.adoc @@ -20,7 +20,7 @@ This will automatically deploy swagger-ui to a spring-boot application: ** server: The server name or IP ** port: The server port ** context-path: The context path of the application -* Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml +* Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml TIP: For custom path of the swagger documentation in HTML format, add a custom springdoc property, in your spring-boot configuration file: . @@ -31,17 +31,3 @@ TIP: For custom path of the swagger documentation in HTML format, add a custom s springdoc.swagger-ui.path=/swagger-ui.html ---- -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/index.adoc b/src/docs/asciidoc/v1/index.adoc index 40c4954..d6c415b 100644 --- a/src/docs/asciidoc/v1/index.adoc +++ b/src/docs/asciidoc/v1/index.adoc @@ -17,6 +17,12 @@ This project is sponsored by <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%"" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> ++++ diff --git a/src/docs/asciidoc/v1/intro.adoc b/src/docs/asciidoc/v1/intro.adoc index 55bb3a4..8a15af9 100644 --- a/src/docs/asciidoc/v1/intro.adoc +++ b/src/docs/asciidoc/v1/intro.adoc @@ -24,17 +24,3 @@ image::img/springdoc-openapi-prez.gif[spring.io conference] This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal). -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/migrating-from-springfox.adoc b/src/docs/asciidoc/v1/migrating-from-springfox.adoc index 6e039b3..890b435 100644 --- a/src/docs/asciidoc/v1/migrating-from-springfox.adoc +++ b/src/docs/asciidoc/v1/migrating-from-springfox.adoc @@ -20,7 +20,7 @@ Package for swagger 3 annotations is `io.swagger.v3.oas.annotations`. - `@ApiImplicitParam` -> `@Parameter` - `@ApiImplicitParams` -> `@Parameters` - `@ApiModel` -> `@Schema` -- `@ApiModelProperty(hidden = true)` -> `@Schema(accessMode = READ_ONLY)` +- `@ApiModelProperty(allowEmptyValue = true)` -> `@Schema(nullable = true)` - `@ApiModelProperty` -> `@Schema` - `@ApiOperation(value = "foo", notes = "bar")` -> `@Operation(summary = "foo", description = "bar")` - `@ApiParam` -> `@Parameter` @@ -111,17 +111,4 @@ springdoc.pathsToMatch=/v1, /api/balance/** * To hide an operation or a controller from documentation ** link:index.html#how-can-i-hide-an-operation-or-a-controller-from-documentation[how-can-i-hide-an-operation-or-a-controller-from-documentation] -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ + diff --git a/src/docs/asciidoc/v1/modules.adoc b/src/docs/asciidoc/v1/modules.adoc index 55d3555..f0f2a94 100644 --- a/src/docs/asciidoc/v1/modules.adoc +++ b/src/docs/asciidoc/v1/modules.adoc @@ -35,7 +35,7 @@ springdoc.api-docs.path=/api-docs === Spring WebFlux support -* Documentation can be available in yaml format as well, on the following path : /v3/api-docs.yaml +* Documentation will be available in yaml format as well, on the following path : /v3/api-docs.yaml * Add the library to the list of your project dependencies (No additional configuration is needed) [source,xml, subs="attributes+"] @@ -294,17 +294,3 @@ NOTE: Make sure, you enable the annotation processor of `therapi-runtime-javadoc TIP: If both a swagger-annotation description and a javadoc comment are present. The value of the swagger-annotation description will be used. -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/other-resources.adoc b/src/docs/asciidoc/v1/other-resources.adoc index ca22e34..eca3349 100644 --- a/src/docs/asciidoc/v1/other-resources.adoc +++ b/src/docs/asciidoc/v1/other-resources.adoc @@ -18,23 +18,10 @@ The artifacts can be viewed accessed at the following locations: Releases: -* link:https://s01.oss.sonatype.org/content/groups/public/org/springdoc/[https://s01.oss.sonatype.org/content/groups/public/org/springdoc/, window="_blank"] +* link:https://central.sonatype.com/search?q=g:org.springdoc[https://central.sonatype.com/search?q=g:org.springdoc, window="_blank"] Snapshots: -* link:https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/[https://s01.oss.sonatype.org/content/repositories/snapshots/org/springdoc/, window="_blank", window="_blank"] - -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ +* link:https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/[https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/springdoc/, window="_blank", window="_blank"] + + diff --git a/src/docs/asciidoc/v1/plugins.adoc b/src/docs/asciidoc/v1/plugins.adoc index d14a621..6a1e7c8 100644 --- a/src/docs/asciidoc/v1/plugins.adoc +++ b/src/docs/asciidoc/v1/plugins.adoc @@ -37,7 +37,7 @@ In order to use this functionality, you need to add the plugin declaration on th <plugin> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-maven-plugin</artifactId> - <version>1.4</version> + <version>1.5</version> <executions> <execution> <id>integration-test</id> @@ -79,17 +79,3 @@ For more custom configuration of `springdoc-openapi-gradle-plugin` ,you can cons * link:https://github.com/springdoc/springdoc-openapi-gradle-plugin[https://github.com/springdoc/springdoc-openapi-gradle-plugin, window="_blank"] -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/privacy-policy.adoc b/src/docs/asciidoc/v1/privacy-policy.adoc index f158492..8363f6f 100644 --- a/src/docs/asciidoc/v1/privacy-policy.adoc +++ b/src/docs/asciidoc/v1/privacy-policy.adoc @@ -144,17 +144,3 @@ Response Time: We make every effort to respond to your request within one month If you have any questions or concerns about this Policy or its implementation, you may contact us at support@springdoc.org. -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/sponsor.adoc b/src/docs/asciidoc/v1/sponsor.adoc index 7beac85..7a55653 100644 --- a/src/docs/asciidoc/v1/sponsor.adoc +++ b/src/docs/asciidoc/v1/sponsor.adoc @@ -19,6 +19,12 @@ Thank you to our bronze sponsors! <a href="https://www.contrastsecurity.com/" target="_blank"> <img src="img/contrastsecurity.svg" height="10%" width="30%" /> </a> + <a href="https://www.lvm.de/" target="_blank"> + <img src="img/LVM_Versicherung_2010_logo.svg.png" height="10%" width="25%" /> + </a> + <a href="https://gdnext.com/" target="_blank"> + <img src="img/gdnext.png" height="10%" width="10%" /> + </a> </p> ++++ @@ -44,17 +50,3 @@ Gold sponsors donate $500 per month to the project, and get the following benefi - Company logos on all https://springdoc.org page footers - If issues are not created by the end of the month, the remaining ones are lost. -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/thanks.adoc b/src/docs/asciidoc/v1/thanks.adoc index 9d47d2c..b3c8920 100644 --- a/src/docs/asciidoc/v1/thanks.adoc +++ b/src/docs/asciidoc/v1/thanks.adoc @@ -7,17 +7,3 @@ image::img/jetbrains.svg[JetBrains] -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ \ No newline at end of file diff --git a/src/docs/asciidoc/v1/ui-properties.adoc b/src/docs/asciidoc/v1/ui-properties.adoc index c466f9b..943e290 100644 --- a/src/docs/asciidoc/v1/ui-properties.adoc +++ b/src/docs/asciidoc/v1/ui-properties.adoc @@ -7,8 +7,8 @@ |springdoc.swagger-ui.enabled | `true` | `Boolean`. To disable the swagger-ui endpoint (/swagger-ui.html by default). |springdoc.swagger-ui.configUrl | `/v3/api-docs/swagger-config` | `String`. URL to fetch external configuration document from. |springdoc.swagger-ui.layout | `BaseLayout` | `String`. The name of a component available via the plugin system to use as the top-level layout for Swagger UI. -|springdoc.swagger-ui.validatorUrl | `https://validator.swagger.io/validator` | By default, Swagger UI attempts to validate specs against swagger.io's online validator. You can use this parameter to set a different validator URL, for example for locally deployed validators link:https://github.com/swagger-api/validator-badge[Validator Badge, window="_blank"]. Setting it to either `none`, `127.0.0.1` or `localhost` will disable validation. -|springdoc.swagger-ui.tryItOutEnabled | `false` |`Boolean`. Controls whether the "Try it out" section should be enabled by default. +|springdoc.swagger-ui.validatorUrl | | By default, Swagger UI does not validate specs. You can use this parameter to set a validator URL, for example for against swagger.io’s online validator. +|springdoc.swagger-ui.tryItOutEnabled | `true` |`Boolean`. Controls whether the "Try it out" section should be enabled by default. |springdoc.swagger-ui.filter | `false` | `Boolean OR String`. If set, enables filtering. The top bar will show an edit box that you can use to filter the tagged operations that are shown. Can be Boolean to enable or disable, or a string, in which case filtering will be enabled using that string as the filter expression. Filtering is case sensitive matching the filter expression anywhere inside the tag. |springdoc.swagger-ui.operationsSorter | | `Function=(a => a)`. Apply a sort to the operation list of each API. It can be 'alpha' (sort by paths alphanumerically), 'method' (sort by HTTP method) or a function (see Array.prototype.sort() to know how sort function works). Default is the order returned by the server unchanged. |springdoc.swagger-ui.tagsSorter | | `Function=(a => a)`. Apply a sort to the tag list of each API. It can be 'alpha' (sort by paths alphanumerically) or a function link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort[see Array.prototype.sort() , window="_blank"] to learn how to write a sort function). Two tag name strings are passed to the sorter for each pass. Default is the order determined by Swagger UI. @@ -24,7 +24,7 @@ |springdoc.swagger-ui.showExtensions | `false` | `Boolean`. Controls the display of vendor extension (`x-`) fields and values for Operations, Parameters, and Schema. |springdoc.swagger-ui.url | | `String`.To configure, the path of a custom OpenAPI file . Will be ignored if `urls` is used. |springdoc.swagger-ui.showCommonExtensions | `false` | `Boolean`. Controls the display of extensions (`pattern`, `maxLength`, `minLength`, `maximum`, `minimum`) fields and values for Parameters. -|springdoc.swagger-ui.supportedSubmitMethods | | `Array=["get", "put", "post", "delete", "options", "head", "patch", "trace"]`. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display. +|springdoc.swagger-ui.supportedSubmitMethods | | `Array=[get, put, post, delete, options, head, patch, trace]`. List of HTTP methods that have the "Try it out" feature enabled. An empty array disables "Try it out" for all operations. This does not filter the operations from the display. |springdoc.swagger-ui.queryConfigEnabled | `false` | `Boolean`. Disabled since `v1.6.0`. This parameter enables (legacy) overriding configuration parameters via URL search params. link:https://github.com/swagger-api/swagger-ui/security/advisories/GHSA-qrmm-w75w-3wpx[See security advisory , window="_blank"] before enabling this feature. |springdoc.swagger-ui.oauth. additionalQueryStringParams | | `String`. Additional query parameters added to authorizationUrl and tokenUrl. |springdoc.swagger-ui.disable-swagger-default-url | `false` | `Boolean`. To disable the swagger-ui default petstore url. (Available since v1.4.1). @@ -50,18 +50,5 @@ |=== -++++ - <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8127371937306964" - crossorigin="anonymous"></script> - <!-- HEADER2 --> - <ins class="adsbygoogle" - style="display:block" - data-ad-client="ca-pub-8127371937306964" - data-ad-slot="2654893709" - data-ad-format="auto" - data-full-width-responsive="true"></ins> - <script> - (adsbygoogle = window.adsbygoogle || []).push({}); - </script> -++++ +