mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-03 22:20:56 +00:00
[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:
parent
35dc6451e4
commit
d38cb1b37a
@ -11,7 +11,7 @@ title: Documentation for the spring Generator
|
|||||||
| generator type | SERVER | |
|
| generator type | SERVER | |
|
||||||
| generator language | Java | |
|
| generator language | Java | |
|
||||||
| generator default templating engine | mustache | |
|
| generator default templating engine | mustache | |
|
||||||
| helpTxt | Generates a Java SpringBoot Server application using the SpringFox integration. | |
|
| helpTxt | Generates a Java SpringBoot Server application using the SpringDoc integration. | |
|
||||||
|
|
||||||
## CONFIG OPTIONS
|
## CONFIG OPTIONS
|
||||||
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
|
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
|
||||||
|
@ -228,7 +228,7 @@ public class SpringCodegen extends AbstractJavaCodegen
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHelp() {
|
public String getHelp() {
|
||||||
return "Generates a Java SpringBoot Server application using the SpringFox integration.";
|
return "Generates a Java SpringBoot Server application using the SpringDoc integration.";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -471,10 +471,16 @@ public class SpringCodegen extends AbstractJavaCodegen
|
|||||||
"HomeController.java"));
|
"HomeController.java"));
|
||||||
supportingFiles.add(new SupportingFile("openapi.mustache",
|
supportingFiles.add(new SupportingFile("openapi.mustache",
|
||||||
("src/main/resources").replace("/", java.io.File.separator), "openapi.yaml"));
|
("src/main/resources").replace("/", java.io.File.separator), "openapi.yaml"));
|
||||||
if (DocumentationProvider.SPRINGFOX.equals(getDocumentationProvider()) && !reactive && !apiFirst) {
|
if (!reactive && !apiFirst){
|
||||||
supportingFiles.add(new SupportingFile("openapiDocumentationConfig.mustache",
|
if (DocumentationProvider.SPRINGDOC.equals(getDocumentationProvider())){
|
||||||
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator),
|
supportingFiles.add(new SupportingFile("springdocDocumentationConfig.mustache",
|
||||||
"SpringFoxConfiguration.java"));
|
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator),
|
||||||
|
"SpringDocConfiguration.java"));
|
||||||
|
} else if (DocumentationProvider.SPRINGFOX.equals(getDocumentationProvider())) {
|
||||||
|
supportingFiles.add(new SupportingFile("openapiDocumentationConfig.mustache",
|
||||||
|
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator),
|
||||||
|
"SpringFoxConfiguration.java"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
54
modules/openapi-generator/src/main/resources/JavaSpring/springdocDocumentationConfig.mustache
vendored
Normal file
54
modules/openapi-generator/src/main/resources/JavaSpring/springdocDocumentationConfig.mustache
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
package {{configPackage}};
|
||||||
|
|
||||||
|
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(){{#appName}}
|
||||||
|
.title("{{appName}}"){{/appName}}
|
||||||
|
.description("{{{appDescription}}}"){{#termsOfService}}
|
||||||
|
.termsOfService("{{termsOfService}}"){{/termsOfService}}{{#openAPI}}{{#info}}{{#contact}}
|
||||||
|
.contact(
|
||||||
|
new Contact(){{#infoName}}
|
||||||
|
.name("{{infoName}}"){{/infoName}}{{#infoUrl}}
|
||||||
|
.url("{{infoUrl}}"){{/infoUrl}}{{#infoEmail}}
|
||||||
|
.email("{{infoEmail}}"){{/infoEmail}}
|
||||||
|
){{/contact}}{{#license}}
|
||||||
|
.license(
|
||||||
|
new License()
|
||||||
|
{{#licenseInfo}}.name("{{licenseInfo}}")
|
||||||
|
{{/licenseInfo}}{{#licenseUrl}}.url("{{licenseUrl}}")
|
||||||
|
{{/licenseUrl}}
|
||||||
|
){{/license}}{{/info}}{{/openAPI}}
|
||||||
|
.version("{{appVersion}}")
|
||||||
|
){{#hasAuthMethods}}
|
||||||
|
.components(
|
||||||
|
new Components(){{#authMethods}}
|
||||||
|
.addSecuritySchemes("{{name}}", new SecurityScheme(){{#isBasic}}
|
||||||
|
.type(SecurityScheme.Type.HTTP)
|
||||||
|
.scheme("{{scheme}}"){{#bearerFormat}}
|
||||||
|
.bearerFormat("{{bearerFormat}}"){{/bearerFormat}}{{/isBasic}}{{#isApiKey}}
|
||||||
|
.type(SecurityScheme.Type.APIKEY){{#isKeyInHeader}}
|
||||||
|
.in(SecurityScheme.In.HEADER){{/isKeyInHeader}}{{#isKeyInQuery}}
|
||||||
|
.in(SecurityScheme.In.QUERY){{/isKeyInQuery}}{{#isKeyInCookie}}
|
||||||
|
.in(SecurityScheme.In.COOKIE){{/isKeyInCookie}}
|
||||||
|
.name("{{keyParamName}}"){{/isApiKey}}{{#isOAuth}}
|
||||||
|
.type(SecurityScheme.Type.OAUTH2){{/isOAuth}}
|
||||||
|
){{/authMethods}}
|
||||||
|
){{/hasAuthMethods}}
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
@ -848,20 +848,35 @@ public class SpringCodegenTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**define the destinationFilename*/
|
/**Define documentation providers to test */
|
||||||
private final static String DESTINATIONFILE = "SpringFoxConfiguration.java";
|
private final static String SPRINGFOX = "springfox";
|
||||||
/**define the templateFile*/
|
private final static String SPRINGFOX_DESTINATIONFILE = "SpringFoxConfiguration.java";
|
||||||
private final static String TEMPLATEFILE = "openapiDocumentationConfig.mustache";
|
private final static String SPRINGFOX_TEMPLATEFILE = "openapiDocumentationConfig.mustache";
|
||||||
|
private final static String SPRINGDOC = "springdoc";
|
||||||
|
private final static String SPRINGDOC_DESTINATIONFILE = "SpringDocConfiguration.java";
|
||||||
|
private final static String SPRINGDOC_TEMPLATEFILE = "springdocDocumentationConfig.mustache";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test whether OpenAPIDocumentationConfig.java is generated
|
* test whether OpenAPIDocumentationConfig.java is generated
|
||||||
* fix issue #10287
|
* fix issue #10287
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testConfigFileGeneration() {
|
public void testConfigFileGeneration_springfox() {
|
||||||
|
testConfigFileCommon(SPRINGFOX, SPRINGFOX_DESTINATIONFILE, SPRINGFOX_TEMPLATEFILE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test whether SpringDocDocumentationConfig.java is generated
|
||||||
|
* fix issue #12220
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testConfigFileGeneration_springdoc() {
|
||||||
|
testConfigFileCommon(SPRINGDOC, SPRINGDOC_DESTINATIONFILE, SPRINGDOC_TEMPLATEFILE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void testConfigFileCommon(String documentationProvider, String destinationFile, String templateFileName){
|
||||||
final SpringCodegen codegen = new SpringCodegen();
|
final SpringCodegen codegen = new SpringCodegen();
|
||||||
codegen.additionalProperties().put(DOCUMENTATION_PROVIDER, "springfox");
|
codegen.additionalProperties().put(DOCUMENTATION_PROVIDER, documentationProvider);
|
||||||
codegen.additionalProperties().put(SpringCodegen.INTERFACE_ONLY, false);
|
codegen.additionalProperties().put(SpringCodegen.INTERFACE_ONLY, false);
|
||||||
codegen.additionalProperties().put(SpringCodegen.SPRING_CLOUD_LIBRARY, "spring-cloud");
|
codegen.additionalProperties().put(SpringCodegen.SPRING_CLOUD_LIBRARY, "spring-cloud");
|
||||||
codegen.additionalProperties().put(SpringCodegen.REACTIVE, false);
|
codegen.additionalProperties().put(SpringCodegen.REACTIVE, false);
|
||||||
@ -877,13 +892,13 @@ public class SpringCodegenTest {
|
|||||||
tmpFile = s.getTemplateFile();
|
tmpFile = s.getTemplateFile();
|
||||||
desFile = s.getDestinationFilename();
|
desFile = s.getDestinationFilename();
|
||||||
|
|
||||||
if (TEMPLATEFILE.equals(tmpFile)) {
|
if (templateFileName.equals(tmpFile)) {
|
||||||
flag = true;
|
flag = true;
|
||||||
assertEquals(desFile, DESTINATIONFILE);
|
assertEquals(desFile, destinationFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!flag) {
|
if (!flag) {
|
||||||
fail("OpenAPIDocumentationConfig.java not generated");
|
fail(templateFileName + " not generated");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ src/main/java/org/openapitools/api/BarApiController.java
|
|||||||
src/main/java/org/openapitools/api/FooApi.java
|
src/main/java/org/openapitools/api/FooApi.java
|
||||||
src/main/java/org/openapitools/api/FooApiController.java
|
src/main/java/org/openapitools/api/FooApiController.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/model/Addressable.java
|
src/main/java/org/openapitools/model/Addressable.java
|
||||||
src/main/java/org/openapitools/model/Bar.java
|
src/main/java/org/openapitools/model/Bar.java
|
||||||
src/main/java/org/openapitools/model/BarCreate.java
|
src/main/java/org/openapitools/model/BarCreate.java
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
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("ByRefOrValue")
|
||||||
|
.description("This tests for a oneOf interface representation ")
|
||||||
|
.version("0.0.1")
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
@ -10,6 +10,7 @@ src/main/java/org/openapitools/api/StoreApiController.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/model/Category.java
|
src/main/java/org/openapitools/model/Category.java
|
||||||
src/main/java/org/openapitools/model/ModelApiResponse.java
|
src/main/java/org/openapitools/model/ModelApiResponse.java
|
||||||
src/main/java/org/openapitools/model/Order.java
|
src/main/java/org/openapitools/model/Order.java
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
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 is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.")
|
||||||
|
.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("petstore_auth", new SecurityScheme()
|
||||||
|
.type(SecurityScheme.Type.OAUTH2)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
@ -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/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.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/AdditionalPropertiesAnyType.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.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)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
@ -22,6 +22,7 @@ src/main/java/org/openapitools/api/UserApi.java
|
|||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/api/UserApiDelegate.java
|
src/main/java/org/openapitools/api/UserApiDelegate.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.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/AdditionalPropertiesAnyType.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.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)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
@ -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/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.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/AdditionalPropertiesAnyType.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.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)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
@ -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/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.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/AdditionalPropertiesAnyType.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
src/main/java/org/openapitools/model/AdditionalPropertiesArray.java
|
||||||
src/main/java/org/openapitools/model/AdditionalPropertiesBoolean.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)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
@ -10,6 +10,7 @@ src/main/java/org/openapitools/api/StoreApiController.java
|
|||||||
src/main/java/org/openapitools/api/UserApi.java
|
src/main/java/org/openapitools/api/UserApi.java
|
||||||
src/main/java/org/openapitools/api/UserApiController.java
|
src/main/java/org/openapitools/api/UserApiController.java
|
||||||
src/main/java/org/openapitools/configuration/HomeController.java
|
src/main/java/org/openapitools/configuration/HomeController.java
|
||||||
|
src/main/java/org/openapitools/configuration/SpringDocConfiguration.java
|
||||||
src/main/java/org/openapitools/model/Category.java
|
src/main/java/org/openapitools/model/Category.java
|
||||||
src/main/java/org/openapitools/model/ModelApiResponse.java
|
src/main/java/org/openapitools/model/ModelApiResponse.java
|
||||||
src/main/java/org/openapitools/model/Order.java
|
src/main/java/org/openapitools/model/Order.java
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
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 is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.")
|
||||||
|
.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("petstore_auth", new SecurityScheme()
|
||||||
|
.type(SecurityScheme.Type.OAUTH2)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user