Skip to content

Commit 53d69ec

Browse files
committed
Merge branch 'springfox.3' of https://github.com/reta/swagger-codegen-generators into reta-springfox.3
# Conflicts: # src/main/java/io/swagger/codegen/v3/generators/java/SpringCodegen.java # src/main/resources/handlebars/JavaSpring/api.mustache # src/main/resources/handlebars/JavaSpring/apiController.mustache # src/main/resources/handlebars/JavaSpring/application.mustache # src/main/resources/handlebars/JavaSpring/bodyParams.mustache # src/main/resources/handlebars/JavaSpring/cookieParams.mustache # src/main/resources/handlebars/JavaSpring/formParams.mustache # src/main/resources/handlebars/JavaSpring/headerParams.mustache # src/main/resources/handlebars/JavaSpring/libraries/spring-boot/pom.mustache # src/main/resources/handlebars/JavaSpring/libraries/spring-boot/swagger2SpringBoot.mustache # src/main/resources/handlebars/JavaSpring/pathParams.mustache # src/main/resources/handlebars/JavaSpring/pojo.mustache # src/main/resources/handlebars/JavaSpring/queryParams.mustache # src/main/resources/handlebars/JavaSpring/swaggerDocumentationConfig.mustache # src/test/java/io/swagger/codegen/v3/generators/java/SpringGeneratorCodegenTest.java
2 parents 05667eb + 91683b4 commit 53d69ec

24 files changed

+233
-57
lines changed

src/main/java/io/swagger/codegen/v3/generators/java/SpringCodegen.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public class SpringCodegen extends AbstractJavaCodegen implements BeanValidation
7777
protected boolean useOptional = false;
7878
protected boolean openFeign = false;
7979
protected boolean defaultInterfaces = true;
80-
protected String springBootVersion = "1.5.22.RELEASE";
80+
protected String springBootVersion = "2.1.16.RELEASE";
8181
protected boolean throwsException = false;
8282
private boolean notNullJacksonAnnotation = false;
8383

@@ -307,6 +307,8 @@ public void processOpts() {
307307
(sourceFolder + File.separator + basePackage).replace(".", java.io.File.separator), "Swagger2SpringBoot.java"));
308308
supportingFiles.add(new SupportingFile("RFC3339DateFormat.mustache",
309309
(sourceFolder + File.separator + basePackage).replace(".", java.io.File.separator), "RFC3339DateFormat.java"));
310+
supportingFiles.add(new SupportingFile("swaggerUiConfiguration.mustache",
311+
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator), "SwaggerUiConfiguration.java"));
310312
supportingFiles.add(new SupportingFile("application.mustache",
311313
("src.main.resources").replace(".", java.io.File.separator), "application.properties"));
312314
}
@@ -320,7 +322,7 @@ public void processOpts() {
320322
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator), "SwaggerUiConfiguration.java"));
321323
supportingFiles.add(new SupportingFile("RFC3339DateFormat.mustache",
322324
(sourceFolder + File.separator + configPackage).replace(".", java.io.File.separator), "RFC3339DateFormat.java"));
323-
supportingFiles.add(new SupportingFile("application.properties",
325+
supportingFiles.add(new SupportingFile("application.properties.mustache",
324326
("src.main.resources").replace(".", java.io.File.separator), "swagger.properties"));
325327
}
326328
if (isSpringCloudLibrary()) {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{{#useOas2}}
2+
{{#allowableValues}}allowableValues="{{#values}}{{{.}}}{{^@last}}, {{/@last}}{{/values}}{{^values}}range=[{{#min}}{{.}}{{/min}}{{^min}}-infinity{{/min}}, {{#max}}{{.}}{{/max}}{{^max}}infinity{{/max}}]{{/values}}"{{/allowableValues}}
3+
{{/useOas2}}
4+
{{^useOas2}}
5+
{{#allowableValues}}allowableValues={ {{#values}}"{{{.}}}"{{^@last}}, {{/@last}}{{/values}}{{^values}}{{/values}} }{{#min}}, minimum="{{.}}"{{/min}}{{#max}}, maximum="{{.}}"{{/max}}{{/allowableValues}}
6+
{{/useOas2}}

src/main/resources/handlebars/JavaSpring/api.mustache

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import io.swagger.annotations.*;
1616
{{^useOas2}}
1717
import io.swagger.v3.oas.annotations.Operation;
1818
import io.swagger.v3.oas.annotations.Parameter;
19+
import io.swagger.v3.oas.annotations.enums.ParameterIn;
1920
import io.swagger.v3.oas.annotations.responses.ApiResponses;
2021
import io.swagger.v3.oas.annotations.responses.ApiResponse;
2122
import io.swagger.v3.oas.annotations.media.ArraySchema;
@@ -68,7 +69,7 @@ import java.util.concurrent.{{^jdk8}}Callable{{/jdk8}}{{#jdk8}}CompletableFuture
6869

6970
{{>generatedAnnotation}}
7071
{{#useOas2}}
71-
@Api(value = "{{{baseName}}}", description = "the {{{baseName}}} API")
72+
@Api(value = "{{{baseName}}}", description = "the {{{baseName}}} API")
7273
{{/useOas2}}
7374
{{#operations}}
7475
public interface {{classname}} {
@@ -115,11 +116,15 @@ public interface {{classname}} {
115116
{{/useOas2}}
116117
{{^useOas2}}
117118
@Operation(summary = "{{{summary}}}", description = "{{{notes}}}"{{#hasAuthMethods}}, security = {
118-
{{#authMethods}}@SecurityRequirement(name = "{{name}}"{{#isOAuth}}, scopes = { {{#each scopes}}"{{@key}}"{{^@last}}, {{/@last}}{{/each}} }{{/isOAuth}}){{#hasMore}},
119-
{{/hasMore}}{{/authMethods}}
120-
}{{/hasAuthMethods}}, tags={ {{#vendorExtensions.x-tags}}"{{tag}}"{{#hasMore}}, {{/hasMore}}{{/vendorExtensions.x-tags}} })
119+
{{#authMethods}}@SecurityRequirement(name = "{{name}}"{{#isOAuth}}, scopes = {
120+
{{#scopes}}"{{scope}}"{{#hasMore}},
121+
{{/hasMore}}{{/scopes}}
122+
}{{/isOAuth}}){{#hasMore}},
123+
{{/hasMore}}{{/authMethods}}
124+
}{{/hasAuthMethods}}, tags={ {{#vendorExtensions.x-tags}}"{{tag}}"{{#hasMore}}, {{/hasMore}}{{/vendorExtensions.x-tags}} })
121125
@ApiResponses(value = { {{#responses}}
122-
@ApiResponse(responseCode = "{{{code}}}", description = "{{{message}}}"{{^vendorExtensions.x-java-is-response-void}}, content = @Content({{^containerType}}schema = @Schema(implementation = {{{baseType}}}.class)){{/containerType}}{{#containerType}}array = @ArraySchema(schema = @Schema(implementation = {{{baseType}}}.class))){{/containerType}}{{/vendorExtensions.x-java-is-response-void}}){{#hasMore}},{{/hasMore}}{{/responses}} })
126+
@ApiResponse(responseCode = "{{{code}}}", description = "{{{message}}}"{{^vendorExtensions.x-java-is-response-void}}{{#baseType}}, content = @Content({{^containerType}}schema = @Schema(implementation = {{{baseType}}}.class)){{/containerType}}{{#containerType}}array = @ArraySchema(schema = @Schema(implementation = {{{baseType}}}.class))){{/containerType}}{{/baseType}}{{/vendorExtensions.x-java-is-response-void}}){{#hasMore}},
127+
{{/hasMore}}{{/responses}} })
123128
{{/useOas2}}
124129
@RequestMapping(value = "{{{path}}}",{{#singleContentTypes}}{{#hasProduces}}
125130
produces = "{{{vendorExtensions.x-accepts}}}", {{/hasProduces}}{{#hasConsumes}}

src/main/resources/handlebars/JavaSpring/apiController.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory;
2626
import org.springframework.http.HttpStatus;
2727
import org.springframework.http.ResponseEntity;
2828
{{/fullController}}
29-
import org.springframework.stereotype.Controller;
29+
import org.springframework.web.bind.annotation.RestController;
3030
{{#fullController}}
3131
import org.springframework.web.bind.annotation.CookieValue;
3232
import org.springframework.web.bind.annotation.PathVariable;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
1+
{{^springBootV2}}
2+
springfox.documentation.swagger.v2.path=/api-docs
3+
{{/springBootV2}}
4+
{{#springBootV2}}
15
{{#useOas2}}
26
springfox.documentation.swagger.v2.path=/api-docs
37
server.contextPath={{^contextPath}}/{{/contextPath}}{{#contextPath}}{{contextPath}}{{/contextPath}}
48
{{/useOas2}}
9+
{{^useOas2}}
10+
springfox.documentation.open-api.v3.path=/api-docs
11+
{{/useOas2}}
12+
{{/springBootV2}}
13+
server.servlet.contextPath={{^contextPath}}/{{/contextPath}}{{#contextPath}}{{contextPath}}{{/contextPath}}
514
server.port={{serverPort}}
615
spring.jackson.date-format={{basePackage}}.RFC3339DateFormat
716
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false

src/main/resources/handlebars/JavaSpring/application.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{{#useOas2}}
2+
springfox.documentation.swagger.v2.path=/api-docs
3+
{{/useOas2}}
4+
{{^useOas2}}
5+
springfox.documentation.open-api.v3.path=/api-docs
6+
{{/useOas2}}
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
{{#isBodyParam}}{{#useOas2}}@ApiParam(value = "{{{description}}}" {{#required}},required=true{{/required}} {{^isContainer}}{{#allowableValues}}, allowableValues="{{{allowableValues}}}"{{/allowableValues}}{{/isContainer}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(description = "{{{description}}}" {{#required}},required=true{{/required}}{{>allowableValuesAndDefaultValue}}){{/useOas2}}{{#useBeanValidation}}@Valid{{/useBeanValidation}} @RequestBody {{{dataType}}} {{paramName}}{{/isBodyParam}}
1+
{{#isBodyParam}}
2+
{{#useOas2}}@ApiParam(value = "{{{description}}}" {{#required}},required=true{{/required}} {{^isContainer}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{/isContainer}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.DEFAULT, description = "{{{description}}}" {{#required}},required=true{{/required}},schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} {{#useBeanValidation}}@Valid{{/useBeanValidation}} @RequestBody {{{dataType}}} {{paramName}}
3+
{{/isBodyParam}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#isCookieParam}}{{#useOas2}}@ApiParam(value = "{{{description}}}" {{#required}},required=true{{/required}}{{>allowableValuesAndDefaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(description = "{{{description}}}" {{#required}},required=true{{/required}}{{>allowableValuesAndDefaultValue}}){{/useOas2}}@CookieValue(value="{{baseName}}", required={{#required}}true{{/required}}{{^required}}false{{/required}}) {{>optionalDataType}} {{paramName}}{{/isCookieParam}}
1+
{{#isCookieParam}}{{#useOas2}}@ApiParam(value = "{{{description}}}" {{#required}},required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.COOKIE, description = "{{{description}}}" {{#required}},required=true{{/required}},schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} @CookieValue(value="{{baseName}}", required={{#required}}true{{/required}}{{^required}}false{{/required}}) {{>optionalDataType}} {{paramName}}{{/isCookieParam}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#isFormParam}}{{#useOas2}}{{^isBinary}}@ApiParam(value = "{{{description}}}"{{#required}}, required=true{{/required}}{{>allowableValuesAndDefaultValue}}) @RequestParam(value="{{baseName}}"{{#required}}, required=true{{/required}}{{^required}}, required=false{{/required}}) {{{dataType}}} {{paramName}}{{/isBinary}}{{#isBinary}}@ApiParam(value = "file detail") {{#useBeanValidation}}@Valid{{/useBeanValidation}} @RequestPart("file") MultipartFile {{baseName}}{{/isBinary}}{{/useOas2}}{{^useOas2}}{{^isBinary}}@Parameter(description = "{{{description}}}" {{#required}},required=true{{/required}}{{>allowableValuesAndDefaultValue}}) @RequestParam(value="{{baseName}}"{{#required}}, required=true{{/required}}{{^required}}, required=false{{/required}}) {{{dataType}}} {{paramName}}{{/isBinary}}{{#isBinary}}@Parameter(description = "file detail") @RequestPart("file") MultipartFile {{baseName}}{{/isBinary}}{{/useOas2}}{{/isFormParam}}
1+
{{#isFormParam}}{{^isBinary}}{{#useOas2}}@ApiParam(value = "{{{description}}}"{{#required}}, required=true{{/required}}{{#allowableValues}}, {{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}}){{/useOas2}}{{^useOas2}}@Parameter(in = ParameterIn.DEFAULT, description = "{{{description}}}"{{#required}}, required=true{{/required}},schema=@Schema({{#allowableValues}}{{> allowableValues }}{{/allowableValues}}{{#defaultValue}}, defaultValue="{{{defaultValue}}}"{{/defaultValue}})){{/useOas2}} @RequestParam(value="{{baseName}}"{{#required}}, required=true{{/required}}{{^required}}, required=false{{/required}}) {{{dataType}}} {{paramName}}{{/isBinary}}{{#isBinary}}{{#useOas2}}@ApiParam(value = "file detail"){{/useOas2}}{{^useOas2}}@Parameter(description = "file detail"){{/useOas2}} {{#useBeanValidation}}@Valid{{/useBeanValidation}} @RequestPart("file") MultipartFile {{baseName}}{{/isBinary}}{{/isFormParam}}

0 commit comments

Comments
 (0)