
IntroductionOpenAPI 3
Spring-boot (v1 and v2)
+Spring-boot (v1, v2 and v3)
JSR-303, specifically for @NotNull, @Min, @Max, and @Size.
@@ -68,6 +68,18 @@Introduction
The following video introduces the Library:
From 96d2c0b2299d939e5b1422493809e6d5a0296d33 Mon Sep 17 00:00:00 2001
From: "Badr.NassLahsen" OpenAPI 3 Spring-boot (v1 and v2) Spring-boot (v1, v2 and v3) JSR-303, specifically for @NotNull, @Min, @Max, and @Size. The following video introduces the Library: Spring-boot (v1 and v2) Spring-boot (v1, v2 and v3) JSR-303, specifically for @NotNull, @Min, @Max, and @Size. The following video introduces the Library:1. Introduction
1. Introduction
+
+
+
+
+
+
+
+For spring-boot v3 support, make sure you use springdoc-openapi v2
+
+
diff --git a/docs/intro.html b/docs/intro.html
index 2620130..d62eacf 100644
--- a/docs/intro.html
+++ b/docs/intro.html
@@ -49,7 +49,7 @@
IntroductionOpenAPI 3
Introduction
+
+
+
+
+
+
+
+For spring-boot v3 support, make sure you use springdoc-openapi v2
+
+Demo Spring Boot 3 and Spring Cloud Function WebFlux
+
springdoc-openapi 2.x
is compatible with spring-boot 3
.
In general, you should only pick the last stable version as per today 2.0.0-RC2.
+In general, you should only pick the last stable version as per today 2.0.0.
More precisely, this the exhaustive list of spring-boot versions against which springdoc-openapi
has been built:
3.0.x
2.0.0-RC2
+
2.0.x
+
2.7.x
, 1.5.x
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.0.0-RC2</version>
+ <version>2.0.0</version>
</dependency>
@@ -96,7 +96,7 @@ springdoc.enable-groovy
true
Boolean
. To enable Groovy support.
springdoc.enable-spring-security
true
Boolean
. To enable spring-security 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
).
Demo Spring Boot 3 WebFlux with Functional endpoints OpenAPI 3
+Demo Spring Boot 2 WebFlux with Functional endpoints OpenAPI 3
All the modules have been renamed.
-springdoc-openapi-starter-common
integrates many spring modules support in order to hide the maximum of complexity.
-It allows the support out of the box for Actuator
/ Spring Cloud Function
/ Spring Data Rest
/ Spring Native
/ Spring Hateoas
/ Spring Securtiy
/ Kotlin
/ Javadoc
.
The following table describes the main modules changes:
-springdoc-openapi-v1 | -springdoc-openapi-v2 | -Description | -
---|---|---|
|
-
|
-Includes foundation |
-
|
-
|
-For Spring Data Rest support |
-
|
-
|
-For Groovy support |
-
|
-
|
-For Spring Hateoas support |
-
|
-
|
-For Javadoc support |
-
|
-
|
-For Kotlin support |
-
|
-
|
-For Spring Security support |
-
|
-
|
-For Spring WebMvc support |
-
|
-
|
-For Spring WebFlux support |
-
|
-
|
-For using the Swagger-UI in a Spring WebMvc context |
-
|
-
|
-For using the Swagger-UI in a Spring WebFlux context |
-
- - | --classes/annotations changes - | -
springdoc-openapi-v1 | -springdoc-openapi-v2 | -
---|---|
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
- - | --Migration tips - | -
The following modules are not anymore needed and can be removed:
-springdoc-openapi-javadoc
springdoc-openapi-kotlin
springdoc-openapi-data-rest
springdoc-openapi-security
springdoc-openapi-webmvc-core
springdoc-openapi-webflux-core
springdoc-openapi-hateoas
springdoc-openapi-groovy
In addition:
-Replace springdoc-openapi-ui
by springdoc-openapi-starter-webmvc-ui
Replace springdoc-openapi-webflux-ui
by springdoc-openapi-starter-webflux-ui
Remove springfox and swagger 2 dependencies. Add springdoc-openapi-starter-webmvc-ui
dependency instead.
Remove springfox and swagger 2 dependencies. Add springdoc-openapi-ui
dependency instead.
<dependency>
<groupId>org.springdoc</groupId>
- <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.1.0</version>
+ <artifactId>springdoc-openapi-ui</artifactId>
+ <version>1.7.0</version>
</dependency>
Replace swagger 2 annotations with swagger 3 annotations (it is already included with springdoc-openapi-starter-webmvc-ui
dependency).
+
Replace swagger 2 annotations with swagger 3 annotations (it is already included with springdoc-openapi-ui
dependency).
Package for swagger 3 annotations is io.swagger.v3.oas.annotations
.
The springdoc-openapi
libraries are hosted on maven central repository.
The artifacts can be viewed accessed at the following locations:
springdoc-openapi
is on Open Collective.
Bronze sponsors donate $50 per month to the project, and get the following benefits:
Silver sponsors donate $100 per month to the project, and get the following benefits:
Gold sponsors donate $500 per month to the project, and get the following benefits:
You can define your own groups of API based on the combination of: API paths and packages to scan. Each group should have a unique groupName
.
The OpenAPI description of this group, will be available by default on:
swagger-ui
?swagger-ui
?enumAsRef = true
to all enums ?enumAsRef = true
to all enums ?These can be set by creating a swaggerUiConfig
bean as follows:
@AuthenticationPrincipal
parameter from spring-security ?@AuthenticationPrincipal
parameter from spring-security ?A solution workaround would be to use: @Parameter(hidden = true)
The projects that use spring-boot-starter-security
or spring-security-oauth2-authorization-server
should use:
springdoc-openapi-starter-webmvc-api
if they depend on spring-boot-starter-web
and they only need the access to the OpenAPI endpoints.
OR springdoc-openapi-starter-webmvc-ui
, if they depend on spring-boot-starter-web
and they also need the access to the swagger-ui.
OR springdoc-openapi-starter-webflux-api
if they depend on spring-boot-starter-webflux
and they only the access to the OpenAPI endpoints.
OR springdoc-openapi-starter-webflux-ui
, if they depend on spring-boot-starter-webflux
and they also need the access to the swagger-ui.
For a project that uses spring-security
, you should add the following dependency, in combination with the springdoc-openapi-ui
dependency:
<dependency>
+ <groupId>org.springdoc</groupId>
+ <artifactId>springdoc-openapi-security</artifactId>
+ <version>last.version</version>
+</dependency>
+@Parameters
annotation supported ?@Parameters
annotation supported ?springdoc-openapi
support Jersey?springdoc-openapi
support Jersey?springdoc-openapi
generate API only for @RestController
?springdoc-openapi
generate API only for @RestController
?@NotEmpty
@NotBlank
@PositiveOrZero
@NegativeOrZero
?@NotEmpty
@NotBlank
@PositiveOrZero
@NegativeOrZero
?Pageable
(spring-data-commons) object to correct URL-Parameter in Swagger UI?Pageable
(spring-data-commons) object to correct URL-Parameter in Swagger UI?The support for Pageable of spring-data-commons is available out-of-the box since springdoc-openapi v1.6.0
.
For this, you have to combine @ParameterObject
annotation with the Pageable
type.
springdoc-openapi-starter-webmvc-ui
behind a reverse proxy?springdoc-openapi-ui
behind a reverse proxy?@JsonView
annotations in Spring MVC APIs supported?@JsonView
annotations in Spring MVC APIs supported?springdoc-openapi-starter-webmvc-ui
dependency breaks my public/index.html
welcome pagespringdoc-openapi-ui
dependency breaks my public/index.html
welcome pageIf you already have static content on your root, and you don’t want it to be overridden by springdoc-openapi-starter-webmvc-ui
configuration, you can just define a custom configuration of the swagger-ui
, in order not to override the configuration of your files from in your context-root:
If you already have static content on your root, and you don’t want it to be overridden by springdoc-openapi-ui
configuration, you can just define a custom configuration of the swagger-ui
, in order not to override the configuration of your files from in your context-root:
For example use:
@@ -3222,7 +2785,7 @@@Bean
-public OpenApiCustomizer consumerTypeHeaderOpenAPICustomizer() {
+public OpenApiCustomiser consumerTypeHeaderOpenAPICustomiser() {
return openApi -> openApi.getPaths().values().stream().flatMap(pathItem -> pathItem.readOperations().stream())
.forEach(operation -> operation.addParametersItem(new HeaderParameter().$ref("#/components/parameters/myConsumerTypeHeader")));
}
@@ -3284,7 +2847,7 @@
-13.29. How can I return an empty content as response?
+12.29. How can I return an empty content as response?
-
@@ -3316,7 +2879,7 @@
-13.30. How are endpoints with multiple consuming media types supported?
+12.30. How are endpoints with multiple consuming media types supported?
-13.31. How can I get yaml and json (OpenAPI) in compile time?
+12.31. How can I get yaml and json (OpenAPI) in compile time?
-13.32. What are the ignored types in the documentation?
+12.32. What are the ignored types in the documentation?
-13.33. How can i disable ignored types:
+12.33. How can i disable ignored types:
If you don’t want to ignore the types Principal
, Locale
, HttpServletRequest
, and others,:
@@ -3381,7 +2944,7 @@
-13.34. How do I add authorization header in requests?
+12.34. How do I add authorization header in requests?
-
@@ -3418,7 +2981,7 @@
-13.35. Differentiation to Springfox project
+12.35. Differentiation to Springfox project
-
@@ -3447,7 +3010,7 @@
-13.36. How do I migrate to OpenAPI 3 with springdoc-openapi
+12.36. How do I migrate to OpenAPI 3 with springdoc-openapi
-
@@ -3457,7 +3020,7 @@
Remove all the dependencies and the related code to springfox
-
-
Add springdoc-openapi-starter-webmvc-ui
dependency
+Add springdoc-openapi-ui
dependency
-
If you don’t want to serve the UI from your root path or there is a conflict with an existing configuration, you can just change the following property:
@@ -3471,7 +3034,7 @@
-13.37. How can I set a global header?
+12.37. How can I set a global header?
-
@@ -3507,7 +3070,7 @@
-13.38. Are Callbacks supported?
+12.38. Are Callbacks supported?
-
@@ -3517,7 +3080,7 @@
-13.39. How can I define SecurityScheme ?
+12.39. How can I define SecurityScheme ?
-
@@ -3543,7 +3106,7 @@
-13.40. How can I hide an operation or a controller from documentation ?
+12.40. How can I hide an operation or a controller from documentation ?
-13.41. How to configure global security schemes?
+12.41. How to configure global security schemes?
-
@@ -3581,7 +3144,7 @@
-13.42. Can I use spring property with swagger annotations?
+12.42. Can I use spring property with swagger annotations?
-13.43. How is server URL generated ?
+12.43. How is server URL generated ?
-
@@ -3625,7 +3188,7 @@
-13.44. How can I disable springdoc-openapi cache?
+12.44. How can I disable springdoc-openapi cache?
-
@@ -3646,7 +3209,7 @@
-13.45. How can I expose the mvc api-docs endpoints without using the swagger-ui
?
+12.45. How can I expose the mvc api-docs endpoints without using the swagger-ui
?
-
@@ -3658,14 +3221,14 @@
<dependency>
<groupId>org.springdoc</groupId>
- <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
+ <artifactId>springdoc-openapi-webmvc-core</artifactId>
<version>latest.version</version>
</dependency>
-13.46. How can I disable springdoc-openapi
endpoints ?
+12.46. How can I disable springdoc-openapi
endpoints ?
-
@@ -3680,7 +3243,7 @@
-13.47. How can I hide Schema of the the response ?
+12.47. How can I hide Schema of the the response ?
-13.49. Can I customize OpenAPI object programmatically?
+12.49. Can I customize OpenAPI object programmatically?
-GroupedOpenApi.builder().group("users").pathsToMatch(paths).packagesToScan(packagedToMatch).addOpenApiCustomizer(customerGlobalHeaderOpenApiCustomizer())
+GroupedOpenApi.builder().group("users").pathsToMatch(paths).packagesToScan(packagedToMatch).addOpenApiCustomiser(customerGlobalHeaderOpenApiCustomiser())
.build()
@Bean
-public OpenApiCustomizer customerGlobalHeaderOpenApiCustomizer() {
+public OpenApiCustomiser customerGlobalHeaderOpenApiCustomiser() {
return openApi -> openApi.path("/foo",
new PathItem().get(new Operation().operationId("foo").responses(new ApiResponses()
.addApiResponse("default",new ApiResponse().description("")
@@ -3783,7 +3346,7 @@
-13.50. Where can I find the source code of the demo applications?
+12.50. Where can I find the source code of the demo applications?
@@ -3800,7 +3363,7 @@
-13.51. Does this library supports annotations from interfaces?
+12.51. Does this library supports annotations from interfaces?
-
@@ -3810,7 +3373,7 @@
-13.52. What is the list of the excluded parameter types?
+12.52. What is the list of the excluded parameter types?
-13.53. Is file upload supported ?
+12.53. Is file upload supported ?
-
@@ -3830,7 +3393,7 @@
-13.54. Can I use @Parameter
inside @Operation
annotation?
+12.54. Can I use @Parameter
inside @Operation
annotation?
-13.55. Why my parameter is marked as required?
+12.55. Why my parameter is marked as required?
-
@@ -3856,7 +3419,7 @@
-13.56. How are overloaded methods with the same endpoints, but with different parameters
+12.56. How are overloaded methods with the same endpoints, but with different parameters
-
@@ -3866,7 +3429,7 @@
-13.57. What is a proper way to set up Swagger UI to use provided spec.yml?
+12.57. What is a proper way to set up Swagger UI to use provided spec.yml?
-13.58. Is there a way to send authorization header through the @Parameter tag?
+12.58. Is there a way to send authorization header through the @Parameter tag?
-
@@ -3939,7 +3502,7 @@
<
-13.59. My Rest Controller using @Controller annotation is ignored?
+12.59. My Rest Controller using @Controller annotation is ignored?
-
@@ -3963,7 +3526,7 @@
-13.60. How can I define groups using application.yml?
+12.60. How can I define groups using application.yml?
-
@@ -4003,7 +3566,7 @@
-13.61. How can I extract fields from parameter object ?
+12.61. How can I extract fields from parameter object ?
-
@@ -4025,7 +3588,112 @@
-13.62. How can I use the last springdoc-openapi
SNAPSHOT ?
+12.62. 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
+
+
+
+
+
+<dependency>
+ <groupId>org.springdoc</groupId>
+ <artifactId>springdoc-openapi-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):
+
+
+
+
+
+<dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot</artifactId>
+ <version>2.1.11.RELEASE</version>
+</dependency>
+<dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-autoconfigure</artifactId>
+ <version>2.1.11.RELEASE</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.
+
+
+
+
+
+@EnableWebMvc
+public class AppInitializer implements WebApplicationInitializer {
+
+ @Override
+ public void onStartup(ServletContext servletContext) throws ServletException {
+ 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.scan("rest");
+ context.register(this.getClass(), org.springdoc.webmvc.ui.SwaggerConfig.class,
+ org.springdoc.core.SwaggerUiConfigProperties.class, org.springdoc.core.SwaggerUiOAuthProperties.class,
+ org.springdoc.webmvc.core.SpringDocWebMvcConfiguration.class,
+ org.springdoc.webmvc.core.MultipleOpenApiSupportConfiguration.class,
+ org.springdoc.core.SpringDocConfiguration.class, org.springdoc.core.SpringDocConfigProperties.class,
+ org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.class);
+
+ return context;
+ }
+}
+
+
+
+
+
+-
+
Depending on your module, you can find them on the file: spring.factories
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:
+
+
+
+
+
+spring.mvc.servlet.path=/my-servlet-path
+
+
+
+
+12.63. How can I use the last springdoc-openapi
SNAPSHOT ?
-13.63. How can I use enable springdoc-openapi
MonetaryAmount support ?
+12.64. How can I use enable springdoc-openapi
MonetaryAmount support ?
-13.64. How can i aggregate external endpoints (exposing OPENAPI 3 spec) inside one single application?
+12.65. How can i aggregate external endpoints (exposing OPENAPI 3 spec) inside one single application?
The properties springdoc.swagger-ui.urls.*
, are suitable to configure external (/v3/api-docs url).
For example if you want to agreagte all the endpoints of other services, inside one single application.
@@ -4089,7 +3757,7 @@
-13.65. How can use custom json/yml file instead of generated one ?
+12.66. How can use custom json/yml file instead of generated one ?
If your file open-api.json, contains the OpenAPI documentation in OpenAPI 3 format.
Then simply declare: The file name can be anything you want, from the moment your declaration is consistent yaml or json OpenAPI Spec.
@@ -4105,7 +3773,7 @@
-13.66. How can i enable CSRF support?
+12.67. How can i enable CSRF support?
If you are using standard headers.( For example using spring-security headers)
If the CSRF Token is required, swagger-ui automatically sends the new XSRF-TOKEN during each HTTP REQUEST.
@@ -4130,7 +3798,7 @@
-13.67. How can i disable the default swagger petstore URL?
+12.68. How can i disable the default swagger petstore URL?
You can use the following property:
@@ -4141,14 +3809,14 @@
-13.68. Is @PageableDefault supported, to enhance the OpenAPI 3 docuementation?
+12.69. Is @PageableDefault supported, to enhance the OpenAPI 3 docuementation?
Yes, you can use it in conjunction with @ParameterObject
annotation.
Also, the spring-boot spring.data.web.
and spring.data.rest.default.
properties are supported since v1.4.5
-13.69. How can i make spring security login-endpoint visible ?
+12.70. How can i make spring security login-endpoint visible ?
You can use the following property:
@@ -4159,7 +3827,7 @@
-13.70. How can i show schema definitions even the schema is not referenced?
+12.71. How can i show schema definitions even the schema is not referenced?
You can use the following property:
@@ -4170,7 +3838,7 @@
-13.71. How to override @Deprecated?
+12.72. How to override @Deprecated?
The whole idea of springdoc-openapi
is to get your documentation the closest to the code, with minimal code changes.
If the code contains @Deprecated
, sprindoc-openapi
will consider its schema as Deprecated as well.
@@ -4184,7 +3852,7 @@
-13.72. How can i display a method that returns ModelAndView?
+12.73. How can i display a method that returns ModelAndView?
You can use the following property:
@@ -4195,7 +3863,7 @@
-13.73. How can i have pretty-printed output of the OpenApi specification?
+12.74. How can i have pretty-printed output of the OpenApi specification?
You can use the following property:
@@ -4206,7 +3874,7 @@
-13.74. How can i define different schemas for the same class?
+12.75. How can i define different schemas for the same class?
Complex objects are always resolved as a reference to a schema defined in components.
For example let’s consider a Instance
class with an workAddress
and homeAddress
attribute of type Address
:
@@ -4266,7 +3934,7 @@
-13.75. How can i define different description for a class attribute depending on usage?
+12.76. How can i define different description for a class attribute depending on usage?
For example let’s consider a Instance
class with an email
attribute:
@@ -4311,7 +3979,7 @@
-13.76. Customizing swagger static resources
+12.77. Customizing swagger static resources
You can customize swagger documentation static resources located in META-INF/resources/webjars/swagger-ui/{swagger.version}/
. The list of resources includes:
@@ -4401,22 +4069,12 @@
-13.77. Is GraalVM supported ?
-
-The native support available added in spring-boot 3.
-If you have some time, do not hesitate to test it before the next release.
-
-
-For the OpenAPI REST endpoints, you just need to build your application with the spring native
profile.
-
-
-
-13.78. What is the compatibility matrix of springdoc-openapi
with spring-boot
?
+12.78. What is the compatibility matrix of springdoc-openapi
with spring-boot
?
-springdoc-openapi 2.x
is compatible with spring-boot 3
.
+springdoc-openapi
is compatible with spring-boot 1
and spring-boot 2
.
-In general, you should only pick the last stable version as per today 2.1.0.
+In general, you should only pick the last stable version as per today 1.7.0.
More precisely, this the exhaustive list of spring-boot versions against which springdoc-openapi
has been built:
@@ -4439,7 +4097,7 @@
2.7.x
, 1.5.x
1.6.0
+
1.6.11
+
2.6.x
, 1.5.x
Swagger UI unable to render definition
, when overriding the default spring registered HttpMessageConverter
?Swagger UI unable to render definition
, when overriding the default spring registered HttpMessageConverter
?When overriding the default spring-boot registered HttpMessageConverter
, you should have ByteArrayHttpMessageConverter
registered as well to have proper springdoc-openapi
support.
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.
---
@Bean
+@Primary
fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties {
config.showCommonExtensions = true
config.queryConfigEnabled = true
@@ -1303,6 +1304,7 @@
@@ -1820,6 +1827,18 @@ For the OpenAPI REST endpoints, you just need to build your application with the spring native
profile.
If you give @OpenAPIDefinition
or @SecurityScheme
to a class that has no implementation, that class will disappear when you natively compile.
+To avoid this, give the class a @Configuration
.
@Configuration +@OpenAPIDefinition(info = @Info(title = "My App", description = "description")) +public class OpenAPIConfig { +}+
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.writer-with-order-by-keys
false
Boolean
. Enable a deterministic/alphabetical ordering.
springdoc.swagger-ui.deepLinking
false
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](/docs/usage/deep-linking.md) for more information.
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](swagger.io/docs/open-source-tools/swagger-ui/usage/deep-linking) for more information.
springdoc.swagger-ui.defaultModelsExpandDepth
---
@Bean
+@Primary
fun swaggerUiConfig(config: SwaggerUiConfigProperties): SwaggerUiConfigProperties {
config.showCommonExtensions = true
config.queryConfigEnabled = true
@@ -3896,6 +3902,7 @@
@@ -4413,6 +4425,18 @@ For the OpenAPI REST endpoints, you just need to build your application with the spring native
profile.
If you give @OpenAPIDefinition
or @SecurityScheme
to a class that has no implementation, that class will disappear when you natively compile.
+To avoid this, give the class a @Configuration
.
@Configuration +@OpenAPIDefinition(info = @Info(title = "My App", description = "description")) +public class OpenAPIConfig { +}+
springdoc-openapi
with spring-boot
?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.writer-with-order-by-keys
false
Boolean
. Enable a deterministic/alphabetical ordering.
springdoc.swagger-ui.deepLinking
false
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](/docs/usage/deep-linking.md) for more information.
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](https://swagger.io/docs/open-source-tools/swagger-ui/usage/deep-linking) for more information.
springdoc.swagger-ui.defaultModelsExpandDepth
springdoc.swagger-ui.deepLinking
false
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](/docs/usage/deep-linking.md) for more information.
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](https://swagger.io/docs/open-source-tools/swagger-ui/usage/deep-linking) for more information.
springdoc.swagger-ui.defaultModelsExpandDepth
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.writer-with-order-by-keys
false
Boolean
. Enable a deterministic/alphabetical ordering.
enumAsRef = true
to all enums ?enumAsRef = true
to all enums?@AuthenticationPrincipal
parameter from spring-security ?@AuthenticationPrincipal
parameter from spring-security?@Parameters
annotation supported ?@Parameters
annotation supported?@GetMapping("/example")
-public Object example(@Parameter(name ="json", schema = @Schema(description = "var 1",type = "string", allowableValues = {"1", "2"}))
+public Object example(@Parameter(name = "json", schema = @Schema(description = "var 1", type = "string", allowableValues = {"1", "2"}))
String json) {
return null;
}
@@ -643,7 +644,7 @@
-How can I customise the OpenAPI object ?
+How can I customise the OpenAPI object?
-
@@ -811,11 +812,11 @@
@Bean
- public OpenAPI customOpenAPI() {
- return new OpenAPI()
- .components(new Components()
- .addSecuritySchemes("bearer-key",
- new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
+public OpenAPI customOpenAPI() {
+ return new OpenAPI()
+ .components(new Components()
+ .addSecuritySchemes("bearer-key",
+ new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
}
@@ -882,7 +883,7 @@
-How can I define SecurityScheme ?
+How can I define SecurityScheme?
-How can I hide an operation or a controller from documentation ?
+How can I hide an operation or a controller from documentation?
@@ -1016,7 +1017,7 @@
-How is server URL generated ?
+How is server URL generated?
-
@@ -1069,7 +1070,7 @@
-How can I disable springdoc-openapi
endpoints ?
+How can I disable springdoc-openapi
endpoints?
-
@@ -1084,7 +1085,7 @@
-How can I hide Schema of the the response ?
+How can I hide Schema of the the response?
@@ -1154,10 +1155,10 @@
@Bean
public OpenAPI customOpenAPI(@Value("${springdoc.version}") String appVersion) {
- return new OpenAPI()
- .components(new Components().addSecuritySchemes("basicScheme",
+ return new OpenAPI()
+ .components(new Components().addSecuritySchemes("basicScheme",
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("basic")))
- .info(new Info().title("SpringShop API").version(appVersion)
+ .info(new Info().title("SpringShop API").version(appVersion)
.license(new License().name("Apache 2.0").url("http://springdoc.org")));
}
@@ -1177,10 +1178,10 @@
@@ -1224,7 +1225,7 @@
@@ -1407,7 +1414,7 @@
-How can I extract fields from parameter object ?
+How can I extract fields from parameter object?
-How can I use enable springdoc-openapi
MonetaryAmount support ?
+How can I use enable springdoc-openapi
MonetaryAmount support?
-
@@ -1593,12 +1600,12 @@
How can i aggregate external endpoints (exposing OPENAPI 3 spec) inside one single application?
The properties springdoc.swagger-ui.urls.*
, are suitable to configure external (/v3/api-docs url).
-For example if you want to agreagte all the endpoints of other services, inside one single application.
+For example, if you want to aggregate all the endpoints of other services, inside one single application.
IMPORTANT: Don’t forget that CORS needs to be enabled as well.
-How can use custom json/yml file instead of generated one ?
+How can use custom json/yml file instead of generated one?
If your file open-api.json, contains the OpenAPI documentation in OpenAPI 3 format.
Then simply declare: The file name can be anything you want, from the moment your declaration is consistent yaml or json OpenAPI Spec.
@@ -1616,7 +1623,7 @@
How can i enable CSRF support?
-If you are using standard headers.( For example using spring-security headers)
+
If you are using standard headers. (For example, using spring-security headers)
If the CSRF Token is required, swagger-ui automatically sends the new XSRF-TOKEN during each HTTP REQUEST.
-Is @PageableDefault supported, to enhance the OpenAPI 3 docuementation?
+Is @PageableDefault supported, to enhance the OpenAPI 3 documentation?
Yes, you can use it in conjunction with @ParameterObject
annotation.
Also, the spring-boot spring.data.web.
and spring.data.rest.default.
properties are supported since v1.4.5
-How can i make spring security login-endpoint visible ?
+How can I make spring security login-endpoint visible?
You can use the following property:
@@ -1668,7 +1675,7 @@
-How can i show schema definitions even the schema is not referenced?
+How can I show schema definitions even if the schema is not referenced?
You can use the following property:
@@ -1718,7 +1725,7 @@ How can i define different schemas for the same class?
Complex objects are always resolved as a reference to a schema defined in components.
-For example let’s consider a Instance
class with an workAddress
and homeAddress
attribute of type Address
:
+For example, let’s consider a Instance
class with an workAddress
and homeAddress
attribute of type Address
:
@@ -1777,7 +1784,7 @@
How can i define different description for a class attribute depending on usage?
-For example let’s consider a Instance
class with an email
attribute:
+For example, let’s consider a Instance
class with an email
attribute:
@@ -1804,15 +1811,15 @@
@Bean
public OpenAPI customOpenAPI() {
-return new OpenAPI().components(new Components()
-.addSchemas("PersonDTO1", getFieldSchemaWithDifferentDescription(PersonDTO.class, "work email" ))
-.addSchemas("PersonDTO2", getFieldSchemaWithDifferentDescription(PersonDTO.class, "home email" )));
+ return new OpenAPI().components(new Components()
+ .addSchemas("PersonDTO1", getFieldSchemaWithDifferentDescription(PersonDTO.class, "work email"))
+ .addSchemas("PersonDTO2", getFieldSchemaWithDifferentDescription(PersonDTO.class, "home email")));
}
-private Schema getFieldSchemaWithDifferentDescription(Class className, String description){
+private Schema getFieldSchemaWithDifferentDescription(Class className, String description) {
ResolvedSchema resolvedSchema = ModelConverters.getInstance()
- .resolveAsResolvedSchema(
- new AnnotatedType(className).resolveAsRef(false));
+ .resolveAsResolvedSchema(
+ new AnnotatedType(className).resolveAsRef(false));
return resolvedSchema.schema.addProperties("email", new StringSchema().description(description));
}
@@ -1997,7 +2004,7 @@
diff --git a/docs/v1/index.html b/docs/v1/index.html
index 18442e5..ae8d74c 100644
--- a/docs/v1/index.html
+++ b/docs/v1/index.html
@@ -104,20 +104,20 @@ springdoc-openapi v1.7.0
- 12.2. How can I configure Swagger UI?
- 12.3. How can I filter the resources documented in the output specification by the provided group?
- 12.4. How can I disable/enable Swagger UI generation based on env variable?
-- 12.5. How can I control the default expansion setting for the operations and tags, in the Swagger UI ,
+- 12.5. How can I control the default expansion setting for the operations and tags, in the Swagger UI,
- 12.6. How can I change the layout of the
swagger-ui
?
- 12.7. How can I sort endpoints alphabetically?
- 12.8. How can I disable the try it out button?
-- 12.9. How can I add Reusable Enums ?
-- 12.10. How can i apply
enumAsRef = true
to all enums ?
+- 12.9. How can I add Reusable Enums?
+- 12.10. How can i apply
enumAsRef = true
to all enums?
- 12.11. How can I explicitly set which paths to filter?
- 12.12. How can I explicitly set which packages to scan?
- 12.13. How can I set Swagger properties programmatically?
-- 12.14. How can I ignore some field of model ?
-- 12.15. How can I ignore
@AuthenticationPrincipal
parameter from spring-security ?
+- 12.14. How can I ignore some field of model?
+- 12.15. How can I ignore
@AuthenticationPrincipal
parameter from spring-security?
- 12.16. Is there a Gradle plugin available?
-- 12.17. How can I hide a parameter from the documentation ?
-- 12.18. Is
@Parameters
annotation supported ?
+- 12.17. How can I hide a parameter from the documentation?
+- 12.18. Is
@Parameters
annotation supported?
- 12.19. Does
springdoc-openapi
support Jersey?
- 12.20. Can
springdoc-openapi
generate API only for @RestController
?
- 12.21. Are the following validation annotations supported :
@NotEmpty
@NotBlank
@PositiveOrZero
@NegativeOrZero
?
@@ -127,7 +127,7 @@ springdoc-openapi v1.7.0
- 12.25. Is
@JsonView
annotations in Spring MVC APIs supported?
- 12.26. Adding
springdoc-openapi-ui
dependency breaks my public/index.html
welcome page
- 12.27. How can I test the Swagger UI?
-- 12.28. How can I customise the OpenAPI object ?
+- 12.28. How can I customise the OpenAPI object?
- 12.29. How can I return an empty content as response?
- 12.30. How are endpoints with multiple consuming media types supported?
- 12.31. How can I get yaml and json (OpenAPI) in compile time?
@@ -138,21 +138,21 @@ springdoc-openapi v1.7.0
- 12.36. How do I migrate to OpenAPI 3 with springdoc-openapi
- 12.37. How can I set a global header?
- 12.38. Are Callbacks supported?
-- 12.39. How can I define SecurityScheme ?
-- 12.40. How can I hide an operation or a controller from documentation ?
+- 12.39. How can I define SecurityScheme?
+- 12.40. How can I hide an operation or a controller from documentation?
- 12.41. How to configure global security schemes?
- 12.42. Can I use spring property with swagger annotations?
-- 12.43. How is server URL generated ?
+- 12.43. How is server URL generated?
- 12.44. How can I disable springdoc-openapi cache?
- 12.45. How can I expose the mvc api-docs endpoints without using the
swagger-ui
?
-- 12.46. How can I disable
springdoc-openapi
endpoints ?
-- 12.47. How can I hide Schema of the the response ?
+- 12.46. How can I disable
springdoc-openapi
endpoints?
+- 12.47. How can I hide Schema of the the response?
- 12.48. What is the URL of the
swagger-ui
, when I set a different context-path?
- 12.49. Can I customize OpenAPI object programmatically?
- 12.50. Where can I find the source code of the demo applications?
- 12.51. Does this library supports annotations from interfaces?
- 12.52. What is the list of the excluded parameter types?
-- 12.53. Is file upload supported ?
+- 12.53. Is file upload supported?
- 12.54. Can I use
@Parameter
inside @Operation
annotation?
- 12.55. Why my parameter is marked as required?
- 12.56. How are overloaded methods with the same endpoints, but with different parameters
@@ -160,17 +160,17 @@ springdoc-openapi v1.7.0
- 12.58. Is there a way to send authorization header through the @Parameter tag?
- 12.59. My Rest Controller using @Controller annotation is ignored?
- 12.60. How can I define groups using application.yml?
-- 12.61. How can I extract fields from parameter object ?
+- 12.61. How can I extract fields from parameter object?
- 12.62. How to Integrate Open API 3 with Spring project (not Spring Boot)?
- 12.63. How can I use the last
springdoc-openapi
SNAPSHOT ?
-- 12.64. How can I use enable
springdoc-openapi
MonetaryAmount support ?
+- 12.64. How can I use enable
springdoc-openapi
MonetaryAmount support?
- 12.65. How can i aggregate external endpoints (exposing OPENAPI 3 spec) inside one single application?
-- 12.66. How can use custom json/yml file instead of generated one ?
+- 12.66. How can use custom json/yml file instead of generated one?
- 12.67. How can i enable CSRF support?
- 12.68. How can i disable the default swagger petstore URL?
-- 12.69. Is @PageableDefault supported, to enhance the OpenAPI 3 docuementation?
-- 12.70. How can i make spring security login-endpoint visible ?
-- 12.71. How can i show schema definitions even the schema is not referenced?
+- 12.69. Is @PageableDefault supported, to enhance the OpenAPI 3 documentation?
+- 12.70. How can I make spring security login-endpoint visible?
+- 12.71. How can I show schema definitions even if the schema is not referenced?
- 12.72. How to override @Deprecated?
- 12.73. How can i display a method that returns ModelAndView?
- 12.74. How can i have pretty-printed output of the OpenApi specification?
@@ -1425,6 +1425,11 @@ 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.writer-with-order-by-keys
false
Boolean
. Enable a deterministic/alphabetical ordering.
springdoc.swagger-ui.deepLinking
false
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](/docs/usage/deep-linking.md) for more information.
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](swagger.io/docs/open-source-tools/swagger-ui/usage/deep-linking) for more information.
springdoc.swagger-ui.defaultModelsExpandDepth
enumAsRef = true
to all enums ?enumAsRef = true
to all enums?@AuthenticationPrincipal
parameter from spring-security ?@AuthenticationPrincipal
parameter from spring-security?@Parameters
annotation supported ?@Parameters
annotation supported?@GetMapping("/example")
-public Object example(@Parameter(name ="json", schema = @Schema(description = "var 1",type = "string", allowableValues = {"1", "2"}))
+public Object example(@Parameter(name = "json", schema = @Schema(description = "var 1", type = "string", allowableValues = {"1", "2"}))
String json) {
return null;
}
@@ -2944,7 +2950,7 @@
-12.28. How can I customise the OpenAPI object ?
+12.28. How can I customise the OpenAPI object?
-
@@ -3112,11 +3118,11 @@
@Bean
- public OpenAPI customOpenAPI() {
- return new OpenAPI()
- .components(new Components()
- .addSecuritySchemes("bearer-key",
- new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
+public OpenAPI customOpenAPI() {
+ return new OpenAPI()
+ .components(new Components()
+ .addSecuritySchemes("bearer-key",
+ new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
}
@@ -3183,7 +3189,7 @@
-12.39. How can I define SecurityScheme ?
+12.39. How can I define SecurityScheme?
-12.40. How can I hide an operation or a controller from documentation ?
+12.40. How can I hide an operation or a controller from documentation?
@@ -3317,7 +3323,7 @@
-12.43. How is server URL generated ?
+12.43. How is server URL generated?
-
@@ -3370,7 +3376,7 @@
-12.46. How can I disable springdoc-openapi
endpoints ?
+12.46. How can I disable springdoc-openapi
endpoints?
-
@@ -3385,7 +3391,7 @@
-12.47. How can I hide Schema of the the response ?
+12.47. How can I hide Schema of the the response?
@@ -3455,10 +3461,10 @@
@Bean
public OpenAPI customOpenAPI(@Value("${springdoc.version}") String appVersion) {
- return new OpenAPI()
- .components(new Components().addSecuritySchemes("basicScheme",
+ return new OpenAPI()
+ .components(new Components().addSecuritySchemes("basicScheme",
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("basic")))
- .info(new Info().title("SpringShop API").version(appVersion)
+ .info(new Info().title("SpringShop API").version(appVersion)
.license(new License().name("Apache 2.0").url("http://springdoc.org")));
}
@@ -3478,10 +3484,10 @@
@@ -3525,7 +3531,7 @@
@@ -3708,7 +3720,7 @@
-12.61. How can I extract fields from parameter object ?
+12.61. How can I extract fields from parameter object?
-12.64. How can I use enable springdoc-openapi
MonetaryAmount support ?
+12.64. How can I use enable springdoc-openapi
MonetaryAmount support?
-
@@ -3894,12 +3906,12 @@
12.65. How can i aggregate external endpoints (exposing OPENAPI 3 spec) inside one single application?
The properties springdoc.swagger-ui.urls.*
, are suitable to configure external (/v3/api-docs url).
-For example if you want to agreagte all the endpoints of other services, inside one single application.
+For example, if you want to aggregate all the endpoints of other services, inside one single application.
IMPORTANT: Don’t forget that CORS needs to be enabled as well.
-12.66. How can use custom json/yml file instead of generated one ?
+12.66. How can use custom json/yml file instead of generated one?
If your file open-api.json, contains the OpenAPI documentation in OpenAPI 3 format.
Then simply declare: The file name can be anything you want, from the moment your declaration is consistent yaml or json OpenAPI Spec.
@@ -3917,7 +3929,7 @@
12.67. How can i enable CSRF support?
-If you are using standard headers.( For example using spring-security headers)
+
If you are using standard headers. (For example, using spring-security headers)
If the CSRF Token is required, swagger-ui automatically sends the new XSRF-TOKEN during each HTTP REQUEST.
-12.69. Is @PageableDefault supported, to enhance the OpenAPI 3 docuementation?
+12.69. Is @PageableDefault supported, to enhance the OpenAPI 3 documentation?
Yes, you can use it in conjunction with @ParameterObject
annotation.
Also, the spring-boot spring.data.web.
and spring.data.rest.default.
properties are supported since v1.4.5
-12.70. How can i make spring security login-endpoint visible ?
+12.70. How can I make spring security login-endpoint visible?
You can use the following property:
@@ -3969,7 +3981,7 @@
-12.71. How can i show schema definitions even the schema is not referenced?
+12.71. How can I show schema definitions even if the schema is not referenced?
You can use the following property:
@@ -4019,7 +4031,7 @@ 12.75. How can i define different schemas for the same class?
Complex objects are always resolved as a reference to a schema defined in components.
-For example let’s consider a Instance
class with an workAddress
and homeAddress
attribute of type Address
:
+For example, let’s consider a Instance
class with an workAddress
and homeAddress
attribute of type Address
:
@@ -4078,7 +4090,7 @@
12.76. How can i define different description for a class attribute depending on usage?
-For example let’s consider a Instance
class with an email
attribute:
+For example, let’s consider a Instance
class with an email
attribute:
@@ -4105,15 +4117,15 @@
@Bean
public OpenAPI customOpenAPI() {
-return new OpenAPI().components(new Components()
-.addSchemas("PersonDTO1", getFieldSchemaWithDifferentDescription(PersonDTO.class, "work email" ))
-.addSchemas("PersonDTO2", getFieldSchemaWithDifferentDescription(PersonDTO.class, "home email" )));
+ return new OpenAPI().components(new Components()
+ .addSchemas("PersonDTO1", getFieldSchemaWithDifferentDescription(PersonDTO.class, "work email"))
+ .addSchemas("PersonDTO2", getFieldSchemaWithDifferentDescription(PersonDTO.class, "home email")));
}
-private Schema getFieldSchemaWithDifferentDescription(Class className, String description){
+private Schema getFieldSchemaWithDifferentDescription(Class className, String description) {
ResolvedSchema resolvedSchema = ModelConverters.getInstance()
- .resolveAsResolvedSchema(
- new AnnotatedType(className).resolveAsRef(false));
+ .resolveAsResolvedSchema(
+ new AnnotatedType(className).resolveAsRef(false));
return resolvedSchema.schema.addProperties("email", new StringSchema().description(description));
}
diff --git a/docs/v1/properties.html b/docs/v1/properties.html
index 432bb37..70f6132 100644
--- a/docs/v1/properties.html
+++ b/docs/v1/properties.html
@@ -237,6 +237,11 @@ 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.writer-with-order-by-keys
false
Boolean
. Enable a deterministic/alphabetical ordering.
springdoc.swagger-ui.deepLinking
false
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](/docs/usage/deep-linking.md) for more information.
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](https://swagger.io/docs/open-source-tools/swagger-ui/usage/deep-linking) for more information.
springdoc.swagger-ui.defaultModelsExpandDepth
springdoc.swagger-ui.deepLinking
false
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](/docs/usage/deep-linking.md) for more information.
Boolean
. If set to true
, enables deep linking for tags and operations. See the [Deep Linking documentation](https://swagger.io/docs/open-source-tools/swagger-ui/usage/deep-linking) for more information.
springdoc.swagger-ui.defaultModelsExpandDepth
springdoc-openapi 2.x
is compatible with spring-boot 3
.
In general, you should only pick the last stable version as per today 2.1.0.
+In general, you should only pick the last stable version as per today 2.2.0.
More precisely, this the exhaustive list of spring-boot versions against which springdoc-openapi
has been built:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.1.0</version>
+ <version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
- <version>2.1.0</version>
+ <version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
- <version>2.1.0</version>
+ <version>2.2.0</version>
</dependency>
@@ -2247,7 +2247,7 @@ <dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.1.0</version>
+ <version>2.2.0</version>
</dependency>
@@ -4444,7 +4444,7 @@ springdoc-openapi 2.x
is compatible with spring-boot 3
.
In general, you should only pick the last stable version as per today 2.1.0.
+In general, you should only pick the last stable version as per today 2.2.0.
More precisely, this the exhaustive list of spring-boot versions against which springdoc-openapi
has been built:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.1.0</version>
+ <version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
- <version>2.1.0</version>
+ <version>2.2.0</version>
</dependency>
@@ -125,7 +125,7 @@ <dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
- <version>2.1.0</version>
+ <version>2.2.0</version>
</dependency>
diff --git a/pom.xml b/pom.xml
index 091a6f3..d50a0ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
plugins {
- id("org.springframework.boot") version "2.7.0"
- id("org.springdoc.openapi-gradle-plugin") version "1.6.0"
+ id("org.springframework.boot") version "3.1.2"
+ id("org.springdoc.openapi-gradle-plugin") version "1.7.0"
}
plugins {
id("org.springframework.boot") version "2.7.0"
- id("org.springdoc.openapi-gradle-plugin") version "1.6.0"
+ id("org.springdoc.openapi-gradle-plugin") version "1.7.0"
}
plugins {
id("org.springframework.boot") version "2.7.0"
- id("org.springdoc.openapi-gradle-plugin") version "1.6.0"
+ id("org.springdoc.openapi-gradle-plugin") version "1.7.0"
}
plugins {
id("org.springframework.boot") version "3.1.2"
- id("org.springdoc.openapi-gradle-plugin") version "1.7.0"
+ id("org.springdoc.openapi-gradle-plugin") version "1.8.0"
}
plugins {
id("org.springframework.boot") version "3.1.2"
- id("org.springdoc.openapi-gradle-plugin") version "1.7.0"
+ id("org.springdoc.openapi-gradle-plugin") version "1.8.0"
}
plugins {
id("org.springframework.boot") version "2.7.0"
- id("org.springdoc.openapi-gradle-plugin") version "1.7.0"
+ id("org.springdoc.openapi-gradle-plugin") version "1.8.0"
}
plugins {
id("org.springframework.boot") version "2.7.0"
- id("org.springdoc.openapi-gradle-plugin") version "1.7.0"
+ id("org.springdoc.openapi-gradle-plugin") version "1.8.0"
}
springdoc-openapi 2.x
is compatible with spring-boot 3
.
In general, you should only pick the last stable version as per today 2.2.0.
+In general, you should only pick the last stable version as per today 2.3.0.
More precisely, this the exhaustive list of spring-boot versions against which springdoc-openapi
has been built:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
</dependency>
@@ -2250,7 +2250,7 @@ <dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
</dependency>
@@ -4450,7 +4450,7 @@ springdoc-openapi 2.x
is compatible with spring-boot 3
.
In general, you should only pick the last stable version as per today 2.2.0.
+In general, you should only pick the last stable version as per today 2.3.0.
More precisely, this the exhaustive list of spring-boot versions against which springdoc-openapi
has been built:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
</dependency>
@@ -125,7 +125,7 @@ <dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
- <version>2.2.0</version>
+ <version>2.3.0</version>
</dependency>
diff --git a/pom.xml b/pom.xml
index d50a0ba..ce3fba1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
This is a community-based project, not maintained by the Spring Framework Contributors (Pivotal).
springdoc.enable-hateoas
false
Boolean
. To make spring security oauth2-endpoint visible.
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
.
false
Boolean
. To make spring security oauth2-endpoint visible.
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-openapi
is compatible with spring-boot 1
and spring-boot 2
.
In general, you should only pick the last stable version as per today 1.7.0.
+In general, you should only pick the last stable version as per today 1.8.0.
More precisely, this the exhaustive list of spring-boot versions against which springdoc-openapi
has been built:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
- <version>1.7.0</version>
+ <version>1.8.0</version>
</dependency>