From 1e991c790af61e57c779fdde4f469ef1a8eb3158 Mon Sep 17 00:00:00 2001 From: Daan Kerkhofs Date: Fri, 30 Mar 2018 16:03:33 +0200 Subject: [PATCH 1/2] Fixes #5244 Include basePath @RequestMapping in Spring API template --- .../io/swagger/codegen/DefaultGenerator.java | 15 +++-- .../main/resources/JavaSpring/api.mustache | 1 + .../libraries/spring-cloud/apiClient.mustache | 2 +- .../src/main/java/io/swagger/api/PetApi.java | 1 + .../java/io/swagger/api/PetApiClient.java | 2 +- .../main/java/io/swagger/api/StoreApi.java | 1 + .../java/io/swagger/api/StoreApiClient.java | 2 +- .../src/main/java/io/swagger/api/UserApi.java | 1 + .../java/io/swagger/api/UserApiClient.java | 2 +- .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 17 ++++++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 11 ++++ .../io/swagger/api/FakeApiController.java | 6 ++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 11 ++++ .../io/swagger/api/FakeApiController.java | 6 ++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 13 ++++ .../java/io/swagger/api/FakeApiDelegate.java | 13 ++++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 11 ++++ .../io/swagger/api/FakeApiController.java | 5 ++ .../java/io/swagger/api/FakeApiDelegate.java | 7 +++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 13 ++++ .../io/swagger/api/FakeApiController.java | 6 ++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 11 ++++ .../io/swagger/api/FakeApiController.java | 6 ++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 11 ++++ .../io/swagger/api/FakeApiController.java | 6 ++ .../io/swagger/api/FakeClassnameTestApi.java | 1 + .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 1 + .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- 76 files changed, 695 insertions(+), 16 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java index 738172cb80d..f8bf51141dc 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java @@ -107,6 +107,15 @@ private String getScheme() { } private String getHost() { + StringBuilder hostBuilder = new StringBuilder(); + hostBuilder.append(getHostWithoutBasePath()); + if (!StringUtils.isEmpty(swagger.getBasePath()) && !swagger.getBasePath().equals("/")) { + hostBuilder.append(swagger.getBasePath()); + } + return hostBuilder.toString(); + } + + private String getHostWithoutBasePath() { StringBuilder hostBuilder = new StringBuilder(); hostBuilder.append(getScheme()); hostBuilder.append("://"); @@ -116,9 +125,6 @@ private String getHost() { hostBuilder.append("localhost"); LOGGER.warn("'host' not defined in the spec. Default to 'localhost'."); } - if (!StringUtils.isEmpty(swagger.getBasePath()) && !swagger.getBasePath().equals("/")) { - hostBuilder.append(swagger.getBasePath()); - } return hostBuilder.toString(); } @@ -458,6 +464,7 @@ public int compare(CodegenOperation one, CodegenOperation another) { }); Map operation = processOperations(config, tag, ops, allModels); + operation.put("hostWithoutBasePath", getHostWithoutBasePath()); operation.put("basePath", basePath); operation.put("basePathWithoutHost", basePathWithoutHost); operation.put("contextPath", contextPath); @@ -695,7 +702,7 @@ private Map buildSupportFileBundle(List allOperations, L if (swagger.getHost() != null) { bundle.put("host", swagger.getHost()); } - + bundle.put("hostWithoutBasePath", getHostWithoutBasePath()); bundle.put("swagger", this.swagger); bundle.put("basePath", basePath); bundle.put("basePathWithoutHost", basePathWithoutHost); diff --git a/modules/swagger-codegen/src/main/resources/JavaSpring/api.mustache b/modules/swagger-codegen/src/main/resources/JavaSpring/api.mustache index cd7f261f981..1fe317f4bef 100644 --- a/modules/swagger-codegen/src/main/resources/JavaSpring/api.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaSpring/api.mustache @@ -54,6 +54,7 @@ import java.util.concurrent.{{^jdk8}}Callable{{/jdk8}}{{#jdk8}}CompletableFuture {{>generatedAnnotation}} @Api(value = "{{{baseName}}}", description = "the {{{baseName}}} API") {{#operations}} +@RequestMapping(value = "{{{contextPath}}}") public interface {{classname}} { {{#jdk8}} diff --git a/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-cloud/apiClient.mustache b/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-cloud/apiClient.mustache index 52fedbea776..b7317c5f387 100644 --- a/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-cloud/apiClient.mustache +++ b/modules/swagger-codegen/src/main/resources/JavaSpring/libraries/spring-cloud/apiClient.mustache @@ -4,7 +4,7 @@ import org.springframework.cloud.netflix.feign.FeignClient; import {{configPackage}}.ClientConfiguration; {{=<% %>=}} -@FeignClient(name="${<%title%>.name:<%title%>}", url="${<%title%>.url:<%basePath%>}", configuration = ClientConfiguration.class) +@FeignClient(name="${<%title%>.name:<%title%>}", url="${<%title%>.url:<%hostWithoutBasePath%>}", configuration = ClientConfiguration.class) <%={{ }}=%> public interface {{classname}}Client extends {{classname}} { } \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApi.java b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApi.java index 21d59510898..a8ad6c1f1a0 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "Pet", description = "the Pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApiClient.java b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApiClient.java index 64bd0b2f70c..f5807205bcf 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApiClient.java +++ b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/PetApiClient.java @@ -3,6 +3,6 @@ import org.springframework.cloud.netflix.feign.FeignClient; import io.swagger.configuration.ClientConfiguration; -@FeignClient(name="${swaggerPetstore.name:swaggerPetstore}", url="${swaggerPetstore.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) +@FeignClient(name="${swaggerPetstore.name:swaggerPetstore}", url="${swaggerPetstore.url:http://petstore.swagger.io}", configuration = ClientConfiguration.class) public interface PetApiClient extends PetApi { } \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApi.java b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApi.java index 1cad4aa9c4d..6c147b127e1 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "Store", description = "the Store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApiClient.java b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApiClient.java index 99321fe75ee..c440e5242ea 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApiClient.java +++ b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/StoreApiClient.java @@ -3,6 +3,6 @@ import org.springframework.cloud.netflix.feign.FeignClient; import io.swagger.configuration.ClientConfiguration; -@FeignClient(name="${swaggerPetstore.name:swaggerPetstore}", url="${swaggerPetstore.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) +@FeignClient(name="${swaggerPetstore.name:swaggerPetstore}", url="${swaggerPetstore.url:http://petstore.swagger.io}", configuration = ClientConfiguration.class) public interface StoreApiClient extends StoreApi { } \ No newline at end of file diff --git a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApi.java b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApi.java index b988fcb5f15..7d609318eb5 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApi.java +++ b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "User", description = "the User API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApiClient.java b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApiClient.java index 1d8783803f3..ade78a0cbcb 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApiClient.java +++ b/samples/client/petstore/spring-cloud/src/main/java/io/swagger/api/UserApiClient.java @@ -3,6 +3,6 @@ import org.springframework.cloud.netflix.feign.FeignClient; import io.swagger.configuration.ClientConfiguration; -@FeignClient(name="${swaggerPetstore.name:swaggerPetstore}", url="${swaggerPetstore.url:http://petstore.swagger.io/v2}", configuration = ClientConfiguration.class) +@FeignClient(name="${swaggerPetstore.name:swaggerPetstore}", url="${swaggerPetstore.url:http://petstore.swagger.io}", configuration = ClientConfiguration.class) public interface UserApiClient extends UserApi { } \ No newline at end of file diff --git a/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/PetApi.java b/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/PetApi.java index effa5415157..dd8f1c7e8a5 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/PetApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/StoreApi.java b/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/StoreApi.java index ee7480b1a74..1a0b36dc026 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/UserApi.java b/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/UserApi.java index c2b7fd18b59..530881c9ece 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/UserApi.java +++ b/samples/client/petstore/spring-stubs/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/AnotherFakeApi.java index 14194fb3592..a4465506051 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -31,6 +31,7 @@ import java.util.concurrent.CompletableFuture; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { Logger log = LoggerFactory.getLogger(AnotherFakeApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java index 6f710dddd29..bfab284f838 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import java.time.LocalDate; import java.time.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -35,6 +36,7 @@ import java.util.concurrent.CompletableFuture; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { Logger log = LoggerFactory.getLogger(FakeApi.class); @@ -139,6 +141,21 @@ default CompletableFuture> fakeOuterStringSerialize(@ApiP } + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + default CompletableFuture> testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default FakeApi interface so no example is generated"); + } + return CompletableFuture.completedFuture(new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED)); + } + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeClassnameTestApi.java index 97a256e1a2b..c49d6bc055a 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -31,6 +31,7 @@ import java.util.concurrent.CompletableFuture; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { Logger log = LoggerFactory.getLogger(FakeClassnameTestApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/PetApi.java index 49a6a133ab5..3a69f722830 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/PetApi.java @@ -33,6 +33,7 @@ import java.util.concurrent.CompletableFuture; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { Logger log = LoggerFactory.getLogger(PetApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/StoreApi.java index 0b29ed513fa..f6d98b2e4ce 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/StoreApi.java @@ -32,6 +32,7 @@ import java.util.concurrent.CompletableFuture; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { Logger log = LoggerFactory.getLogger(StoreApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/UserApi.java index 0aba78a60e2..e3d828776fb 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/api/UserApi.java @@ -32,6 +32,7 @@ import java.util.concurrent.CompletableFuture; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { Logger log = LoggerFactory.getLogger(UserApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/AnotherFakeApi.java index 8aef627ded1..dc89ed58916 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { @ApiOperation(value = "To test special tags", nickname = "testSpecialTags", notes = "To test special tags", response = Client.class, tags={ "$another-fake?", }) diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java index 55204db2ce1..a4ba9f81c33 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -27,6 +28,7 @@ import java.util.List; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { @ApiOperation(value = "", nickname = "fakeOuterBooleanSerialize", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", }) @@ -61,6 +63,15 @@ public interface FakeApi { ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body); + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query); + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java index d7137b0b7c4..9e41d8a2406 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeApiController.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -96,6 +97,11 @@ public ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); } + public ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + String accept = request.getHeader("Accept"); + return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); + } + public ResponseEntity testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { String accept = request.getHeader("Accept"); if (accept != null && accept.contains("application/json")) { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeClassnameTestApi.java index 9f325d91e79..28bc58a6ad4 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java index 99f70f4a833..d5ef86a9a70 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java index cb18c058580..28668571464 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java index 7b4a93a8a33..fe6eccd3fd7 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/AnotherFakeApi.java index 8aef627ded1..dc89ed58916 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { @ApiOperation(value = "To test special tags", nickname = "testSpecialTags", notes = "To test special tags", response = Client.class, tags={ "$another-fake?", }) diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApi.java index 55204db2ce1..a4ba9f81c33 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -27,6 +28,7 @@ import java.util.List; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { @ApiOperation(value = "", nickname = "fakeOuterBooleanSerialize", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", }) @@ -61,6 +63,15 @@ public interface FakeApi { ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body); + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query); + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApiController.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApiController.java index d7137b0b7c4..9e41d8a2406 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApiController.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeApiController.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -96,6 +97,11 @@ public ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); } + public ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + String accept = request.getHeader("Accept"); + return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); + } + public ResponseEntity testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { String accept = request.getHeader("Accept"); if (accept != null && accept.contains("application/json")) { diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeClassnameTestApi.java index 9f325d91e79..28bc58a6ad4 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/PetApi.java index 99f70f4a833..d5ef86a9a70 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/StoreApi.java index cb18c058580..28668571464 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/UserApi.java index 7b4a93a8a33..fe6eccd3fd7 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/AnotherFakeApi.java index c16077952fd..07788de72be 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { AnotherFakeApiDelegate getDelegate(); diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApi.java index 0c1f9b37504..9da899703fe 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import java.time.LocalDate; import java.time.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -27,6 +28,7 @@ import java.util.List; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { FakeApiDelegate getDelegate(); @@ -71,6 +73,17 @@ default ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input } + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + default ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + return getDelegate().testBodyWithQueryParams(body, query); + } + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApiDelegate.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApiDelegate.java index 63405f93d24..6d5ba03def1 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApiDelegate.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeApiDelegate.java @@ -5,6 +5,7 @@ import java.time.LocalDate; import java.time.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -115,6 +116,18 @@ default ResponseEntity fakeOuterStringSerialize( String body) { return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); } + /** + * @see FakeApi#testBodyWithQueryParams + */ + default ResponseEntity testBodyWithQueryParams( User body, + String query) { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default FakeApi interface so no example is generated"); + } + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + } + /** * @see FakeApi#testClientModel */ diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeClassnameTestApi.java index cca9914b4b0..cfb11b5bdd1 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { FakeClassnameTestApiDelegate getDelegate(); diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/PetApi.java index 9271c5c92d6..35d0dadff68 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { PetApiDelegate getDelegate(); diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/StoreApi.java index e093f9a5419..6a8206665aa 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { StoreApiDelegate getDelegate(); diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/UserApi.java index f2346d331ba..b2d256b06dd 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { UserApiDelegate getDelegate(); diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/AnotherFakeApi.java index 8aef627ded1..dc89ed58916 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { @ApiOperation(value = "To test special tags", nickname = "testSpecialTags", notes = "To test special tags", response = Client.class, tags={ "$another-fake?", }) diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApi.java index 55204db2ce1..a4ba9f81c33 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -27,6 +28,7 @@ import java.util.List; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { @ApiOperation(value = "", nickname = "fakeOuterBooleanSerialize", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", }) @@ -61,6 +63,15 @@ public interface FakeApi { ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body); + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query); + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiController.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiController.java index 875479e4a1e..53c4d5725d5 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiController.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiController.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,6 +48,10 @@ public ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input return delegate.fakeOuterStringSerialize(body); } + public ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + return delegate.testBodyWithQueryParams(body, query); + } + public ResponseEntity testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { return delegate.testClientModel(body); } diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiDelegate.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiDelegate.java index a203b60c069..8dbc750983c 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiDelegate.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeApiDelegate.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.web.multipart.MultipartFile; @@ -38,6 +39,12 @@ public interface FakeApiDelegate { */ ResponseEntity fakeOuterStringSerialize( String body); + /** + * @see FakeApi#testBodyWithQueryParams + */ + ResponseEntity testBodyWithQueryParams( User body, + String query); + /** * @see FakeApi#testClientModel */ diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeClassnameTestApi.java index 9f325d91e79..28bc58a6ad4 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/PetApi.java index 99f70f4a833..d5ef86a9a70 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/StoreApi.java index cb18c058580..28668571464 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/UserApi.java index 7b4a93a8a33..fe6eccd3fd7 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/AnotherFakeApi.java index 4c48b016643..eb056e99104 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { @ApiOperation(value = "To test special tags", nickname = "testSpecialTags", notes = "To test special tags", response = Client.class, tags={ "$another-fake?", }) diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApi.java index 95ea609c0cc..86283f61a6b 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -27,6 +28,7 @@ import java.util.List; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { @ApiOperation(value = "", nickname = "fakeOuterBooleanSerialize", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", }) @@ -69,6 +71,17 @@ public interface FakeApi { ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body); + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @ApiImplicitParams({ + }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query); + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApiController.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApiController.java index 1485f950830..9f8551fa991 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApiController.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeApiController.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -96,6 +97,11 @@ public ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); } + public ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + String accept = request.getHeader("Accept"); + return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); + } + public ResponseEntity testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { String accept = request.getHeader("Accept"); if (accept != null && accept.contains("application/json")) { diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeClassnameTestApi.java index cae934fd9ca..6a177b25902 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/PetApi.java index f003b8a4324..f1dbb62f5ab 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/StoreApi.java index dd73acc136f..caef212c019 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/UserApi.java index d43a3ab5e71..e7d685b3802 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/AnotherFakeApi.java index 661f3a4a0ee..b9244db9eb1 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -24,6 +24,7 @@ import java.util.Optional; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { @ApiOperation(value = "To test special tags", nickname = "testSpecialTags", notes = "To test special tags", response = Client.class, tags={ "$another-fake?", }) diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApi.java index 3b4788764bb..a611913eee8 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -28,6 +29,7 @@ import java.util.Optional; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { @ApiOperation(value = "", nickname = "fakeOuterBooleanSerialize", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", }) @@ -62,6 +64,15 @@ public interface FakeApi { ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body); + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query); + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApiController.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApiController.java index 7de983eb865..57845cadad4 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApiController.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeApiController.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -97,6 +98,11 @@ public ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); } + public ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + String accept = request.getHeader("Accept"); + return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); + } + public ResponseEntity testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { String accept = request.getHeader("Accept"); if (accept != null && accept.contains("application/json")) { diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeClassnameTestApi.java index 36ff358835b..c95f3d030aa 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -24,6 +24,7 @@ import java.util.Optional; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/PetApi.java index 2ee8f95e654..0db3b2563d3 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/PetApi.java @@ -26,6 +26,7 @@ import java.util.Optional; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/StoreApi.java index 1adeec3ba89..663bd3e40f1 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/StoreApi.java @@ -25,6 +25,7 @@ import java.util.Optional; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/UserApi.java index b1d7ddb1284..9e9cc336963 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/api/UserApi.java @@ -25,6 +25,7 @@ import java.util.Optional; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/springboot/src/main/java/io/swagger/api/AnotherFakeApi.java index 8aef627ded1..dc89ed58916 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { @ApiOperation(value = "To test special tags", nickname = "testSpecialTags", notes = "To test special tags", response = Client.class, tags={ "$another-fake?", }) diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApi.java index 55204db2ce1..a4ba9f81c33 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import io.swagger.annotations.*; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -27,6 +28,7 @@ import java.util.List; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { @ApiOperation(value = "", nickname = "fakeOuterBooleanSerialize", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", }) @@ -61,6 +63,15 @@ public interface FakeApi { ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body); + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query); + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApiController.java b/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApiController.java index d7137b0b7c4..9e41d8a2406 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApiController.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeApiController.java @@ -5,6 +5,7 @@ import org.threeten.bp.LocalDate; import org.threeten.bp.OffsetDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -96,6 +97,11 @@ public ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); } + public ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + String accept = request.getHeader("Accept"); + return new ResponseEntity(HttpStatus.NOT_IMPLEMENTED); + } + public ResponseEntity testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) { String accept = request.getHeader("Accept"); if (accept != null && accept.contains("application/json")) { diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeClassnameTestApi.java index 9f325d91e79..28bc58a6ad4 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -23,6 +23,7 @@ import java.util.List; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/springboot/src/main/java/io/swagger/api/PetApi.java index 99f70f4a833..d5ef86a9a70 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/api/PetApi.java @@ -25,6 +25,7 @@ import java.util.List; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { @ApiOperation(value = "Add a new pet to the store", nickname = "addPet", notes = "", authorizations = { diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/springboot/src/main/java/io/swagger/api/StoreApi.java index cb18c058580..28668571464 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/api/StoreApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { @ApiOperation(value = "Delete purchase order by ID", nickname = "deleteOrder", notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors", tags={ "store", }) diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/springboot/src/main/java/io/swagger/api/UserApi.java index 7b4a93a8a33..fe6eccd3fd7 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/api/UserApi.java @@ -24,6 +24,7 @@ import java.util.List; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { @ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", }) diff --git a/samples/server/petstore/springboot/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/springboot/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/springboot/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/springboot/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n"); From 584035361adfa8cd7313c5bd8689da483dbbeb82 Mon Sep 17 00:00:00 2001 From: Daan Kerkhofs Date: Thu, 3 May 2018 14:58:55 +0200 Subject: [PATCH 2/2] Add ./bin/spring-mvc-petstore-j8-localdatetime.sh to spring-all-petstore.sh --- bin/spring-all-pestore.sh | 1 + samples/client/petstore/spring-stubs/pom.xml | 22 +++---- .../java/io/swagger/api/AnotherFakeApi.java | 1 + .../src/main/java/io/swagger/api/FakeApi.java | 17 ++++++ .../io/swagger/api/FakeClassnameTestApi.java | 3 +- .../src/main/java/io/swagger/api/PetApi.java | 1 + .../main/java/io/swagger/api/StoreApi.java | 1 + .../src/main/java/io/swagger/api/UserApi.java | 3 +- .../main/java/io/swagger/model/EnumTest.java | 61 ++++++++++++++++++- 9 files changed, 93 insertions(+), 17 deletions(-) diff --git a/bin/spring-all-pestore.sh b/bin/spring-all-pestore.sh index 8424569ce76..0e6c47cfb78 100755 --- a/bin/spring-all-pestore.sh +++ b/bin/spring-all-pestore.sh @@ -5,6 +5,7 @@ ./bin/spring-delegate-j8.sh ./bin/spring-stubs.sh ./bin/spring-mvc-petstore-j8-async-server.sh +./bin/spring-mvc-petstore-j8-localdatetime.sh ./bin/springboot-petstore-server.sh ./bin/spring-mvc-petstore-server.sh ./bin/springboot-petstore-server-beanvalidation.sh diff --git a/samples/client/petstore/spring-stubs/pom.xml b/samples/client/petstore/spring-stubs/pom.xml index cfb1f67fdbd..079f4045c75 100644 --- a/samples/client/petstore/spring-stubs/pom.xml +++ b/samples/client/petstore/spring-stubs/pom.xml @@ -9,12 +9,12 @@ 1.7 ${java.version} ${java.version} - 2.6.1 + 2.7.0 org.springframework.boot spring-boot-starter-parent - 1.4.7.RELEASE + 1.5.9.RELEASE src/main/java @@ -27,7 +27,6 @@ org.springframework.boot spring-boot-starter-tomcat - provided @@ -42,19 +41,14 @@ - com.fasterxml.jackson.datatype - jackson-datatype-joda + com.github.joschi.jackson + jackson-datatype-threetenbp + 2.6.4 + - joda-time - joda-time + javax.validation + validation-api - - - javax.validation - validation-api - 1.1.0.Final - provided - diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/AnotherFakeApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/AnotherFakeApi.java index f0a7a0327d7..7abc63bac1d 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/AnotherFakeApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/AnotherFakeApi.java @@ -30,6 +30,7 @@ import java.util.Optional; @Api(value = "another-fake", description = "the another-fake API") +@RequestMapping(value = "/v2") public interface AnotherFakeApi { Logger log = LoggerFactory.getLogger(AnotherFakeApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java index d0093bed75b..675a190457e 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeApi.java @@ -10,6 +10,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import io.swagger.model.OuterComposite; +import io.swagger.model.User; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.*; import org.slf4j.Logger; @@ -34,6 +35,7 @@ import java.util.Optional; @Api(value = "fake", description = "the fake API") +@RequestMapping(value = "/v2") public interface FakeApi { Logger log = LoggerFactory.getLogger(FakeApi.class); @@ -138,6 +140,21 @@ default ResponseEntity fakeOuterStringSerialize(@ApiParam(value = "Input } + @ApiOperation(value = "", nickname = "testBodyWithQueryParams", notes = "", tags={ "fake", }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "Success") }) + @RequestMapping(value = "/fake/body-with-query-params", + consumes = { "application/json" }, + method = RequestMethod.PUT) + default ResponseEntity testBodyWithQueryParams(@ApiParam(value = "" ,required=true ) @Valid @RequestBody User body,@NotNull @ApiParam(value = "", required = true) @Valid @RequestParam(value = "query", required = true) String query) { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default FakeApi interface so no example is generated"); + } + return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED); + } + + @ApiOperation(value = "To test \"client\" model", nickname = "testClientModel", notes = "To test \"client\" model", response = Client.class, tags={ "fake", }) @ApiResponses(value = { @ApiResponse(code = 200, message = "successful operation", response = Client.class) }) diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java index f4c4f9d3fbe..0e6816693df 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/FakeClassnameTestApi.java @@ -30,6 +30,7 @@ import java.util.Optional; @Api(value = "fake_classname_test", description = "the fake_classname_test API") +@RequestMapping(value = "/v2") public interface FakeClassnameTestApi { Logger log = LoggerFactory.getLogger(FakeClassnameTestApi.class); @@ -46,7 +47,7 @@ default Optional getAcceptHeader() { return getRequest().map(r -> r.getHeader("Accept")); } - @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "", response = Client.class, authorizations = { + @ApiOperation(value = "To test class name in snake case", nickname = "testClassname", notes = "To test class name in snake case", response = Client.class, authorizations = { @Authorization(value = "api_key_query") }, tags={ "fake_classname_tags 123#$%^", }) @ApiResponses(value = { diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/PetApi.java index c1a402bb2e6..d9343ab7057 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/PetApi.java @@ -32,6 +32,7 @@ import java.util.Optional; @Api(value = "pet", description = "the pet API") +@RequestMapping(value = "/v2") public interface PetApi { Logger log = LoggerFactory.getLogger(PetApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/StoreApi.java index 557fccc0f34..76e104fdcf3 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/StoreApi.java @@ -31,6 +31,7 @@ import java.util.Optional; @Api(value = "store", description = "the store API") +@RequestMapping(value = "/v2") public interface StoreApi { Logger log = LoggerFactory.getLogger(StoreApi.class); diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java index 6b2684c1c0c..b8ebd5b74ec 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/api/UserApi.java @@ -31,6 +31,7 @@ import java.util.Optional; @Api(value = "user", description = "the user API") +@RequestMapping(value = "/v2") public interface UserApi { Logger log = LoggerFactory.getLogger(UserApi.class); @@ -116,7 +117,7 @@ default ResponseEntity deleteUser(@ApiParam(value = "The name that needs t @RequestMapping(value = "/user/{username}", produces = { "application/xml", "application/json" }, method = RequestMethod.GET) - default ResponseEntity getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing. ",required=true) @PathVariable("username") String username) { + default ResponseEntity getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing.",required=true) @PathVariable("username") String username) { if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { if (getAcceptHeader().get().contains("application/xml")) { try { diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java index 4f64f4562f3..20e909431af 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/io/swagger/model/EnumTest.java @@ -53,6 +53,42 @@ public static EnumStringEnum fromValue(String text) { @JsonProperty("enum_string") private EnumStringEnum enumString = null; + /** + * Gets or Sets enumStringRequired + */ + public enum EnumStringRequiredEnum { + UPPER("UPPER"), + + LOWER("lower"), + + EMPTY(""); + + private String value; + + EnumStringRequiredEnum(String value) { + this.value = value; + } + + @Override + @JsonValue + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static EnumStringRequiredEnum fromValue(String text) { + for (EnumStringRequiredEnum b : EnumStringRequiredEnum.values()) { + if (String.valueOf(b.value).equals(text)) { + return b; + } + } + return null; + } + } + + @JsonProperty("enum_string_required") + private EnumStringRequiredEnum enumStringRequired = null; + /** * Gets or Sets enumInteger */ @@ -144,6 +180,27 @@ public void setEnumString(EnumStringEnum enumString) { this.enumString = enumString; } + public EnumTest enumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + return this; + } + + /** + * Get enumStringRequired + * @return enumStringRequired + **/ + @ApiModelProperty(required = true, value = "") + @NotNull + + + public EnumStringRequiredEnum getEnumStringRequired() { + return enumStringRequired; + } + + public void setEnumStringRequired(EnumStringRequiredEnum enumStringRequired) { + this.enumStringRequired = enumStringRequired; + } + public EnumTest enumInteger(EnumIntegerEnum enumInteger) { this.enumInteger = enumInteger; return this; @@ -216,6 +273,7 @@ public boolean equals(java.lang.Object o) { } EnumTest enumTest = (EnumTest) o; return Objects.equals(this.enumString, enumTest.enumString) && + Objects.equals(this.enumStringRequired, enumTest.enumStringRequired) && Objects.equals(this.enumInteger, enumTest.enumInteger) && Objects.equals(this.enumNumber, enumTest.enumNumber) && Objects.equals(this.outerEnum, enumTest.outerEnum); @@ -223,7 +281,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(enumString, enumInteger, enumNumber, outerEnum); + return Objects.hash(enumString, enumStringRequired, enumInteger, enumNumber, outerEnum); } @Override @@ -232,6 +290,7 @@ public String toString() { sb.append("class EnumTest {\n"); sb.append(" enumString: ").append(toIndentedString(enumString)).append("\n"); + sb.append(" enumStringRequired: ").append(toIndentedString(enumStringRequired)).append("\n"); sb.append(" enumInteger: ").append(toIndentedString(enumInteger)).append("\n"); sb.append(" enumNumber: ").append(toIndentedString(enumNumber)).append("\n"); sb.append(" outerEnum: ").append(toIndentedString(outerEnum)).append("\n");