forked from loafle/openapi-generator-original
[java][spring] added springdoc support for service metadata and security (#12346)
* added springdoc config file to codegen * added mustache template for springdoc config * changed type to all caps so it can be used in the template * added security scheme details caveat: didn't add oauth2 flows * removed url not supported by codegensecurity * Fixed default doc provider in help message * refactored config file generation test and added springdoc test * removed default codegen modification implemented through booleans in template instead * added new/updated generator files * fixed escaping of description * fixed appDescription in template removed if and fixed escaping * updated generated files again * updated to springdoc in generator docs
This commit is contained in:
@@ -16,6 +16,7 @@ src/main/java/org/openapitools/api/StoreApiController.java
|
||||
src/main/java/org/openapitools/api/UserApi.java
|
||||
src/main/java/org/openapitools/api/UserApiController.java
|
||||
src/main/java/org/openapitools/configuration/HomeController.java
|
||||
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||
src/main/java/org/openapitools/model/AdditionalPropertiesAnyType.java
|
||||
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
||||
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.java
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package org.openapitools.configuration;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import io.swagger.v3.oas.models.OpenAPI;
|
||||
import io.swagger.v3.oas.models.info.Info;
|
||||
import io.swagger.v3.oas.models.info.Contact;
|
||||
import io.swagger.v3.oas.models.info.License;
|
||||
import io.swagger.v3.oas.models.Components;
|
||||
import io.swagger.v3.oas.models.security.SecurityScheme;
|
||||
|
||||
@Configuration
|
||||
public class SpringDocConfiguration {
|
||||
|
||||
@Bean
|
||||
OpenAPI apiInfo() {
|
||||
return new OpenAPI()
|
||||
.info(
|
||||
new Info()
|
||||
.title("OpenAPI Petstore")
|
||||
.description("This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\")
|
||||
.license(
|
||||
new License()
|
||||
.name("Apache-2.0")
|
||||
.url("https://www.apache.org/licenses/LICENSE-2.0.html")
|
||||
)
|
||||
.version("1.0.0")
|
||||
)
|
||||
.components(
|
||||
new Components()
|
||||
.addSecuritySchemes("api_key", new SecurityScheme()
|
||||
.type(SecurityScheme.Type.APIKEY)
|
||||
.in(SecurityScheme.In.HEADER)
|
||||
.name("api_key")
|
||||
)
|
||||
.addSecuritySchemes("api_key_query", new SecurityScheme()
|
||||
.type(SecurityScheme.Type.APIKEY)
|
||||
.in(SecurityScheme.In.QUERY)
|
||||
.name("api_key_query")
|
||||
)
|
||||
.addSecuritySchemes("http_basic_test", new SecurityScheme()
|
||||
.type(SecurityScheme.Type.HTTP)
|
||||
.scheme("basic")
|
||||
)
|
||||
.addSecuritySchemes("petstore_auth", new SecurityScheme()
|
||||
.type(SecurityScheme.Type.OAUTH2)
|
||||
)
|
||||
)
|
||||
;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user