forked from loafle/openapi-generator-original
Merge branch 'gabrielbauman-patch-1'
This commit is contained in:
commit
827c8c38ed
@ -65,7 +65,7 @@ public interface {{classname}} {
|
|||||||
{{#useSpringCloudClient}}
|
{{#useSpringCloudClient}}
|
||||||
{{#jdk8}}default {{/jdk8}}{{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}){{^jdk8}};{{/jdk8}}{{#jdk8}} {
|
{{#jdk8}}default {{/jdk8}}{{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}){{^jdk8}};{{/jdk8}}{{#jdk8}} {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<{{>returnTypes}}>(HttpStatus.OK){{#async}}){{/async}};
|
return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<{{>returnTypes}}>(HttpStatus.NOT_IMPLEMENTED){{#async}}){{/async}};
|
||||||
}{{/jdk8}}
|
}{{/jdk8}}
|
||||||
|
|
||||||
{{/useSpringCloudClient}}
|
{{/useSpringCloudClient}}
|
||||||
|
@ -1 +1 @@
|
|||||||
2.2.3-SNAPSHOT
|
2.3.0-SNAPSHOT
|
@ -9,12 +9,12 @@
|
|||||||
<java.version>1.7</java.version>
|
<java.version>1.7</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
<springfox-version>2.6.1</springfox-version>
|
<springfox-version>2.7.0</springfox-version>
|
||||||
</properties>
|
</properties>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
<version>1.4.7.RELEASE</version>
|
<version>1.5.4.RELEASE</version>
|
||||||
</parent>
|
</parent>
|
||||||
<build>
|
<build>
|
||||||
<sourceDirectory>src/main/java</sourceDirectory>
|
<sourceDirectory>src/main/java</sourceDirectory>
|
||||||
@ -55,12 +55,9 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
<groupId>com.github.joschi.jackson</groupId>
|
||||||
<artifactId>jackson-datatype-joda</artifactId>
|
<artifactId>jackson-datatype-threetenbp</artifactId>
|
||||||
</dependency>
|
<version>2.6.4</version>
|
||||||
<dependency>
|
|
||||||
<groupId>joda-time</groupId>
|
|
||||||
<artifactId>joda-time</artifactId>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Bean Validation API support -->
|
<!-- Bean Validation API support -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -10,7 +10,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableSwagger2
|
@EnableSwagger2
|
||||||
@ComponentScan(basePackages = "io.swagger")
|
@ComponentScan(basePackages = { "io.swagger", "io.swagger.api" })
|
||||||
public class Swagger2SpringBoot implements CommandLineRunner {
|
public class Swagger2SpringBoot implements CommandLineRunner {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* NOTE: This class is auto generated by the swagger code generator program (2.2.3-SNAPSHOT).
|
* NOTE: This class is auto generated by the swagger code generator program (2.3.0-SNAPSHOT).
|
||||||
* https://github.com/swagger-api/swagger-codegen
|
* https://github.com/swagger-api/swagger-codegen
|
||||||
* Do not edit the class manually.
|
* Do not edit the class manually.
|
||||||
*/
|
*/
|
||||||
@ -7,8 +7,8 @@ package io.swagger.api;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import io.swagger.model.Client;
|
import io.swagger.model.Client;
|
||||||
import org.joda.time.DateTime;
|
import org.threeten.bp.LocalDate;
|
||||||
import org.joda.time.LocalDate;
|
import org.threeten.bp.OffsetDateTime;
|
||||||
import io.swagger.model.OuterComposite;
|
import io.swagger.model.OuterComposite;
|
||||||
|
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RequestPart;
|
import org.springframework.web.bind.annotation.RequestPart;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -33,48 +34,43 @@ public interface FakeApi {
|
|||||||
@ApiOperation(value = "", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", })
|
@ApiOperation(value = "", notes = "Test serialization of outer boolean types", response = Boolean.class, tags={ "fake", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "Output boolean", response = Boolean.class) })
|
@ApiResponse(code = 200, message = "Output boolean", response = Boolean.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/fake/outer/boolean",
|
@RequestMapping(value = "/fake/outer/boolean",
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Boolean> fakeOuterBooleanSerialize(@ApiParam(value = "Input boolean as post body" ) @Valid @RequestBody Boolean body);
|
ResponseEntity<Boolean> fakeOuterBooleanSerialize(@ApiParam(value = "Input boolean as post body" ) @Valid @RequestBody Boolean body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "", notes = "Test serialization of object with outer number type", response = OuterComposite.class, tags={ "fake", })
|
@ApiOperation(value = "", notes = "Test serialization of object with outer number type", response = OuterComposite.class, tags={ "fake", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "Output composite", response = OuterComposite.class) })
|
@ApiResponse(code = 200, message = "Output composite", response = OuterComposite.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/fake/outer/composite",
|
@RequestMapping(value = "/fake/outer/composite",
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<OuterComposite> fakeOuterCompositeSerialize(@ApiParam(value = "Input composite as post body" ) @Valid @RequestBody OuterComposite body);
|
ResponseEntity<OuterComposite> fakeOuterCompositeSerialize(@ApiParam(value = "Input composite as post body" ) @Valid @RequestBody OuterComposite body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "", notes = "Test serialization of outer number types", response = BigDecimal.class, tags={ "fake", })
|
@ApiOperation(value = "", notes = "Test serialization of outer number types", response = BigDecimal.class, tags={ "fake", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "Output number", response = BigDecimal.class) })
|
@ApiResponse(code = 200, message = "Output number", response = BigDecimal.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/fake/outer/number",
|
@RequestMapping(value = "/fake/outer/number",
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<BigDecimal> fakeOuterNumberSerialize(@ApiParam(value = "Input number as post body" ) @Valid @RequestBody BigDecimal body);
|
ResponseEntity<BigDecimal> fakeOuterNumberSerialize(@ApiParam(value = "Input number as post body" ) @Valid @RequestBody BigDecimal body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "", notes = "Test serialization of outer string types", response = String.class, tags={ "fake", })
|
@ApiOperation(value = "", notes = "Test serialization of outer string types", response = String.class, tags={ "fake", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "Output string", response = String.class) })
|
@ApiResponse(code = 200, message = "Output string", response = String.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/fake/outer/string",
|
@RequestMapping(value = "/fake/outer/string",
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<String> fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body);
|
ResponseEntity<String> fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "To test \"client\" model", notes = "To test \"client\" model", response = Client.class, tags={ "fake", })
|
@ApiOperation(value = "To test \"client\" model", notes = "To test \"client\" model", response = Client.class, tags={ "fake", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Client.class) })
|
@ApiResponse(code = 200, message = "successful operation", response = Client.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/fake",
|
@RequestMapping(value = "/fake",
|
||||||
produces = { "application/json" },
|
produces = { "application/json" },
|
||||||
consumes = { "application/json" },
|
consumes = { "application/json" },
|
||||||
method = RequestMethod.PATCH)
|
method = RequestMethod.PATCH)
|
||||||
ResponseEntity<Client> testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body);
|
ResponseEntity<Client> testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ", notes = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ", response = Void.class, authorizations = {
|
@ApiOperation(value = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ", notes = "Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ", response = Void.class, authorizations = {
|
||||||
@ -83,23 +79,30 @@ public interface FakeApi {
|
|||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/fake",
|
@RequestMapping(value = "/fake",
|
||||||
produces = { "application/xml; charset=utf-8", "application/json; charset=utf-8" },
|
produces = { "application/xml; charset=utf-8", "application/json; charset=utf-8" },
|
||||||
consumes = { "application/xml; charset=utf-8", "application/json; charset=utf-8" },
|
consumes = { "application/xml; charset=utf-8", "application/json; charset=utf-8" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Void> testEndpointParameters(@ApiParam(value = "None", required=true) @RequestPart(value="number", required=true) BigDecimal number,@ApiParam(value = "None", required=true) @RequestPart(value="double", required=true) Double _double,@ApiParam(value = "None", required=true) @RequestPart(value="pattern_without_delimiter", required=true) String patternWithoutDelimiter,@ApiParam(value = "None", required=true) @RequestPart(value="byte", required=true) byte[] _byte,@ApiParam(value = "None") @RequestPart(value="integer", required=false) Integer integer,@ApiParam(value = "None") @RequestPart(value="int32", required=false) Integer int32,@ApiParam(value = "None") @RequestPart(value="int64", required=false) Long int64,@ApiParam(value = "None") @RequestPart(value="float", required=false) Float _float,@ApiParam(value = "None") @RequestPart(value="string", required=false) String string,@ApiParam(value = "None") @RequestPart(value="binary", required=false) byte[] binary,@ApiParam(value = "None") @RequestPart(value="date", required=false) LocalDate date,@ApiParam(value = "None") @RequestPart(value="dateTime", required=false) DateTime dateTime,@ApiParam(value = "None") @RequestPart(value="password", required=false) String password,@ApiParam(value = "None") @RequestPart(value="callback", required=false) String paramCallback);
|
ResponseEntity<Void> testEndpointParameters(@ApiParam(value = "None", required=true) @RequestPart(value="number", required=true) BigDecimal number,@ApiParam(value = "None", required=true) @RequestPart(value="double", required=true) Double _double,@ApiParam(value = "None", required=true) @RequestPart(value="pattern_without_delimiter", required=true) String patternWithoutDelimiter,@ApiParam(value = "None", required=true) @RequestPart(value="byte", required=true) byte[] _byte,@ApiParam(value = "None") @RequestPart(value="integer", required=false) Integer integer,@ApiParam(value = "None") @RequestPart(value="int32", required=false) Integer int32,@ApiParam(value = "None") @RequestPart(value="int64", required=false) Long int64,@ApiParam(value = "None") @RequestPart(value="float", required=false) Float _float,@ApiParam(value = "None") @RequestPart(value="string", required=false) String string,@ApiParam(value = "None") @RequestPart(value="binary", required=false) byte[] binary,@ApiParam(value = "None") @RequestPart(value="date", required=false) LocalDate date,@ApiParam(value = "None") @RequestPart(value="dateTime", required=false) OffsetDateTime dateTime,@ApiParam(value = "None") @RequestPart(value="password", required=false) String password,@ApiParam(value = "None") @RequestPart(value="callback", required=false) String paramCallback, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "To test enum parameters", notes = "To test enum parameters", response = Void.class, tags={ "fake", })
|
@ApiOperation(value = "To test enum parameters", notes = "To test enum parameters", response = Void.class, tags={ "fake", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 400, message = "Invalid request", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid request", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "Not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "Not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/fake",
|
@RequestMapping(value = "/fake",
|
||||||
produces = { "*/*" },
|
produces = { "*/*" },
|
||||||
consumes = { "*/*" },
|
consumes = { "*/*" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<Void> testEnumParameters(@ApiParam(value = "Form parameter enum test (string array)", allowableValues=">, $") @RequestPart(value="enum_form_string_array", required=false) List<String> enumFormStringArray,@ApiParam(value = "Form parameter enum test (string)", allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestPart(value="enum_form_string", required=false) String enumFormString,@ApiParam(value = "Header parameter enum test (string array)" , allowableValues=">, $") @RequestHeader(value="enum_header_string_array", required=false) Optional<List<String>> enumHeaderStringArray,@ApiParam(value = "Header parameter enum test (string)" , allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestHeader(value="enum_header_string", required=false) Optional<String> enumHeaderString,@ApiParam(value = "Query parameter enum test (string array)", allowableValues = ">, $") @RequestParam(value = "enum_query_string_array", required = false) Optional<List<String>> enumQueryStringArray,@ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @RequestParam(value = "enum_query_string", required = false, defaultValue="-efg") Optional<String> enumQueryString,@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @RequestParam(value = "enum_query_integer", required = false) Optional<Integer> enumQueryInteger,@ApiParam(value = "Query parameter enum test (double)", allowableValues="1.1, -1.2") @RequestPart(value="enum_query_double", required=false) Double enumQueryDouble);
|
ResponseEntity<Void> testEnumParameters(@ApiParam(value = "Form parameter enum test (string array)", allowableValues=">, $") @RequestPart(value="enum_form_string_array", required=false) List<String> enumFormStringArray,@ApiParam(value = "Form parameter enum test (string)", allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestPart(value="enum_form_string", required=false) String enumFormString,@ApiParam(value = "Header parameter enum test (string array)" , allowableValues=">, $") @RequestHeader(value="enum_header_string_array", required=false) Optional<List<String>> enumHeaderStringArray,@ApiParam(value = "Header parameter enum test (string)" , allowableValues="_abc, -efg, (xyz)", defaultValue="-efg") @RequestHeader(value="enum_header_string", required=false) Optional<String> enumHeaderString,@ApiParam(value = "Query parameter enum test (string array)", allowableValues = ">, $") @RequestParam(value = "enum_query_string_array", required = false) Optional<List<String>> enumQueryStringArray,@ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @RequestParam(value = "enum_query_string", required = false, defaultValue="-efg") Optional<String> enumQueryString,@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @RequestParam(value = "enum_query_integer", required = false) Optional<Integer> enumQueryInteger,@ApiParam(value = "Query parameter enum test (double)", allowableValues="1.1, -1.2") @RequestPart(value="enum_query_double", required=false) Double enumQueryDouble, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "test json serialization of form data", notes = "", response = Void.class, tags={ "fake", })
|
||||||
|
@ApiResponses(value = {
|
||||||
|
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
||||||
|
@RequestMapping(value = "/fake/jsonFormData",
|
||||||
|
consumes = { "application/json" },
|
||||||
|
method = RequestMethod.GET)
|
||||||
|
ResponseEntity<Void> testJsonFormData(@ApiParam(value = "field1", required=true) @RequestPart(value="param", required=true) String param,@ApiParam(value = "field2", required=true) @RequestPart(value="param2", required=true) String param2, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,8 @@ package io.swagger.api;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import io.swagger.model.Client;
|
import io.swagger.model.Client;
|
||||||
import org.joda.time.DateTime;
|
import org.threeten.bp.LocalDate;
|
||||||
import org.joda.time.LocalDate;
|
import org.threeten.bp.OffsetDateTime;
|
||||||
import io.swagger.model.OuterComposite;
|
import io.swagger.model.OuterComposite;
|
||||||
|
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
@ -20,37 +20,71 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import java.io.IOException;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public class FakeApiController implements FakeApi {
|
public class FakeApiController implements FakeApi {
|
||||||
|
private final ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
public FakeApiController(ObjectMapper objectMapper) {
|
||||||
|
this.objectMapper = objectMapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseEntity<Boolean> fakeOuterBooleanSerialize(@ApiParam(value = "Input boolean as post body" ) @Valid @RequestBody Boolean body,
|
||||||
public ResponseEntity<Boolean> fakeOuterBooleanSerialize(@ApiParam(value = "Input boolean as post body" ) @Valid @RequestBody Boolean body) {
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<Boolean>(objectMapper.readValue("{ }", Boolean.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<Boolean>(HttpStatus.OK);
|
return new ResponseEntity<Boolean>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<OuterComposite> fakeOuterCompositeSerialize(@ApiParam(value = "Input composite as post body" ) @Valid @RequestBody OuterComposite body) {
|
public ResponseEntity<OuterComposite> fakeOuterCompositeSerialize(@ApiParam(value = "Input composite as post body" ) @Valid @RequestBody OuterComposite body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<OuterComposite>(objectMapper.readValue("{ \"my_string\" : { }, \"my_number\" : { }, \"my_boolean\" : { }}", OuterComposite.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<OuterComposite>(HttpStatus.OK);
|
return new ResponseEntity<OuterComposite>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<BigDecimal> fakeOuterNumberSerialize(@ApiParam(value = "Input number as post body" ) @Valid @RequestBody BigDecimal body) {
|
public ResponseEntity<BigDecimal> fakeOuterNumberSerialize(@ApiParam(value = "Input number as post body" ) @Valid @RequestBody BigDecimal body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<BigDecimal>(objectMapper.readValue("{ }", BigDecimal.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<BigDecimal>(HttpStatus.OK);
|
return new ResponseEntity<BigDecimal>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<String> fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body) {
|
public ResponseEntity<String> fakeOuterStringSerialize(@ApiParam(value = "Input string as post body" ) @Valid @RequestBody String body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<String>(objectMapper.readValue("{ }", String.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<String>(HttpStatus.OK);
|
return new ResponseEntity<String>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Client> testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body) {
|
public ResponseEntity<Client> testClientModel(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<Client>(objectMapper.readValue("{ \"client\" : \"aeiou\"}", Client.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<Client>(HttpStatus.OK);
|
return new ResponseEntity<Client>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,9 +99,10 @@ public class FakeApiController implements FakeApi {
|
|||||||
@ApiParam(value = "None") @RequestPart(value="string", required=false) String string,
|
@ApiParam(value = "None") @RequestPart(value="string", required=false) String string,
|
||||||
@ApiParam(value = "None") @RequestPart(value="binary", required=false) byte[] binary,
|
@ApiParam(value = "None") @RequestPart(value="binary", required=false) byte[] binary,
|
||||||
@ApiParam(value = "None") @RequestPart(value="date", required=false) LocalDate date,
|
@ApiParam(value = "None") @RequestPart(value="date", required=false) LocalDate date,
|
||||||
@ApiParam(value = "None") @RequestPart(value="dateTime", required=false) DateTime dateTime,
|
@ApiParam(value = "None") @RequestPart(value="dateTime", required=false) OffsetDateTime dateTime,
|
||||||
@ApiParam(value = "None") @RequestPart(value="password", required=false) String password,
|
@ApiParam(value = "None") @RequestPart(value="password", required=false) String password,
|
||||||
@ApiParam(value = "None") @RequestPart(value="callback", required=false) String paramCallback) {
|
@ApiParam(value = "None") @RequestPart(value="callback", required=false) String paramCallback,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
@ -79,7 +114,15 @@ public class FakeApiController implements FakeApi {
|
|||||||
@ApiParam(value = "Query parameter enum test (string array)", allowableValues = ">, $") @RequestParam(value = "enum_query_string_array", required = false) Optional<List<String>> enumQueryStringArray,
|
@ApiParam(value = "Query parameter enum test (string array)", allowableValues = ">, $") @RequestParam(value = "enum_query_string_array", required = false) Optional<List<String>> enumQueryStringArray,
|
||||||
@ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @RequestParam(value = "enum_query_string", required = false, defaultValue="-efg") Optional<String> enumQueryString,
|
@ApiParam(value = "Query parameter enum test (string)", allowableValues = "_abc, -efg, (xyz)", defaultValue = "-efg") @RequestParam(value = "enum_query_string", required = false, defaultValue="-efg") Optional<String> enumQueryString,
|
||||||
@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @RequestParam(value = "enum_query_integer", required = false) Optional<Integer> enumQueryInteger,
|
@ApiParam(value = "Query parameter enum test (double)", allowableValues = "1, -2") @RequestParam(value = "enum_query_integer", required = false) Optional<Integer> enumQueryInteger,
|
||||||
@ApiParam(value = "Query parameter enum test (double)", allowableValues="1.1, -1.2") @RequestPart(value="enum_query_double", required=false) Double enumQueryDouble) {
|
@ApiParam(value = "Query parameter enum test (double)", allowableValues="1.1, -1.2") @RequestPart(value="enum_query_double", required=false) Double enumQueryDouble,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
|
// do some magic!
|
||||||
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseEntity<Void> testJsonFormData(@ApiParam(value = "field1", required=true) @RequestPart(value="param", required=true) String param,
|
||||||
|
@ApiParam(value = "field2", required=true) @RequestPart(value="param2", required=true) String param2,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
/**
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program (2.3.0-SNAPSHOT).
|
||||||
|
* https://github.com/swagger-api/swagger-codegen
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*/
|
||||||
|
package io.swagger.api;
|
||||||
|
|
||||||
|
import io.swagger.model.Client;
|
||||||
|
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestHeader;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RequestPart;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
@Api(value = "fake_classname_test", description = "the fake_classname_test API")
|
||||||
|
public interface FakeClassnameTestApi {
|
||||||
|
|
||||||
|
@ApiOperation(value = "To test class name in snake case", notes = "", response = Client.class, tags={ "fake_classname_tags 123#$%^", })
|
||||||
|
@ApiResponses(value = {
|
||||||
|
@ApiResponse(code = 200, message = "successful operation", response = Client.class) })
|
||||||
|
@RequestMapping(value = "/fake_classname_test",
|
||||||
|
produces = { "application/json" },
|
||||||
|
consumes = { "application/json" },
|
||||||
|
method = RequestMethod.PATCH)
|
||||||
|
ResponseEntity<Client> testClassname(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package io.swagger.api;
|
||||||
|
|
||||||
|
import io.swagger.model.Client;
|
||||||
|
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestHeader;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RequestPart;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import java.io.IOException;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class FakeClassnameTestApiController implements FakeClassnameTestApi {
|
||||||
|
private final ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
public FakeClassnameTestApiController(ObjectMapper objectMapper) {
|
||||||
|
this.objectMapper = objectMapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseEntity<Client> testClassname(@ApiParam(value = "client model" ,required=true ) @Valid @RequestBody Client body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<Client>(objectMapper.readValue("{ \"client\" : \"aeiou\"}", Client.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ResponseEntity<Client>(HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* NOTE: This class is auto generated by the swagger code generator program (2.2.3-SNAPSHOT).
|
* NOTE: This class is auto generated by the swagger code generator program (2.3.0-SNAPSHOT).
|
||||||
* https://github.com/swagger-api/swagger-codegen
|
* https://github.com/swagger-api/swagger-codegen
|
||||||
* Do not edit the class manually.
|
* Do not edit the class manually.
|
||||||
*/
|
*/
|
||||||
@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RequestPart;
|
import org.springframework.web.bind.annotation.RequestPart;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -36,12 +37,11 @@ public interface PetApi {
|
|||||||
}, tags={ "pet", })
|
}, tags={ "pet", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 405, message = "Invalid input", response = Void.class) })
|
@ApiResponse(code = 405, message = "Invalid input", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet",
|
@RequestMapping(value = "/pet",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
consumes = { "application/json", "application/xml" },
|
consumes = { "application/json", "application/xml" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Void> addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body);
|
ResponseEntity<Void> addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Deletes a pet", notes = "", response = Void.class, authorizations = {
|
@ApiOperation(value = "Deletes a pet", notes = "", response = Void.class, authorizations = {
|
||||||
@ -52,11 +52,10 @@ public interface PetApi {
|
|||||||
}, tags={ "pet", })
|
}, tags={ "pet", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 400, message = "Invalid pet value", response = Void.class) })
|
@ApiResponse(code = 400, message = "Invalid pet value", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet/{petId}",
|
@RequestMapping(value = "/pet/{petId}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.DELETE)
|
method = RequestMethod.DELETE)
|
||||||
ResponseEntity<Void> deletePet(@ApiParam(value = "Pet id to delete",required=true ) @PathVariable("petId") Long petId,@ApiParam(value = "" ) @RequestHeader(value="api_key", required=false) Optional<String> apiKey);
|
ResponseEntity<Void> deletePet(@ApiParam(value = "Pet id to delete",required=true ) @PathVariable("petId") Long petId,@ApiParam(value = "" ) @RequestHeader(value="api_key", required=false) Optional<String> apiKey, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Finds Pets by status", notes = "Multiple status values can be provided with comma separated strings", response = Pet.class, responseContainer = "List", authorizations = {
|
@ApiOperation(value = "Finds Pets by status", notes = "Multiple status values can be provided with comma separated strings", response = Pet.class, responseContainer = "List", authorizations = {
|
||||||
@ -68,11 +67,10 @@ public interface PetApi {
|
|||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
|
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
|
||||||
@ApiResponse(code = 400, message = "Invalid status value", response = Void.class) })
|
@ApiResponse(code = 400, message = "Invalid status value", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet/findByStatus",
|
@RequestMapping(value = "/pet/findByStatus",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<List<Pet>> findPetsByStatus( @NotNull@ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @RequestParam(value = "status", required = true) List<String> status);
|
ResponseEntity<List<Pet>> findPetsByStatus( @NotNull@ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @RequestParam(value = "status", required = true) List<String> status, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Finds Pets by tags", notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", response = Pet.class, responseContainer = "List", authorizations = {
|
@ApiOperation(value = "Finds Pets by tags", notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", response = Pet.class, responseContainer = "List", authorizations = {
|
||||||
@ -84,11 +82,10 @@ public interface PetApi {
|
|||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
|
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
|
||||||
@ApiResponse(code = 400, message = "Invalid tag value", response = Void.class) })
|
@ApiResponse(code = 400, message = "Invalid tag value", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet/findByTags",
|
@RequestMapping(value = "/pet/findByTags",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<List<Pet>> findPetsByTags( @NotNull@ApiParam(value = "Tags to filter by", required = true) @RequestParam(value = "tags", required = true) List<String> tags);
|
ResponseEntity<List<Pet>> findPetsByTags( @NotNull@ApiParam(value = "Tags to filter by", required = true) @RequestParam(value = "tags", required = true) List<String> tags, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Find pet by ID", notes = "Returns a single pet", response = Pet.class, authorizations = {
|
@ApiOperation(value = "Find pet by ID", notes = "Returns a single pet", response = Pet.class, authorizations = {
|
||||||
@ -98,11 +95,10 @@ public interface PetApi {
|
|||||||
@ApiResponse(code = 200, message = "successful operation", response = Pet.class),
|
@ApiResponse(code = 200, message = "successful operation", response = Pet.class),
|
||||||
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "Pet not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "Pet not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet/{petId}",
|
@RequestMapping(value = "/pet/{petId}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<Pet> getPetById(@ApiParam(value = "ID of pet to return",required=true ) @PathVariable("petId") Long petId);
|
ResponseEntity<Pet> getPetById(@ApiParam(value = "ID of pet to return",required=true ) @PathVariable("petId") Long petId, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Update an existing pet", notes = "", response = Void.class, authorizations = {
|
@ApiOperation(value = "Update an existing pet", notes = "", response = Void.class, authorizations = {
|
||||||
@ -115,12 +111,11 @@ public interface PetApi {
|
|||||||
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "Pet not found", response = Void.class),
|
@ApiResponse(code = 404, message = "Pet not found", response = Void.class),
|
||||||
@ApiResponse(code = 405, message = "Validation exception", response = Void.class) })
|
@ApiResponse(code = 405, message = "Validation exception", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet",
|
@RequestMapping(value = "/pet",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
consumes = { "application/json", "application/xml" },
|
consumes = { "application/json", "application/xml" },
|
||||||
method = RequestMethod.PUT)
|
method = RequestMethod.PUT)
|
||||||
ResponseEntity<Void> updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body);
|
ResponseEntity<Void> updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Updates a pet in the store with form data", notes = "", response = Void.class, authorizations = {
|
@ApiOperation(value = "Updates a pet in the store with form data", notes = "", response = Void.class, authorizations = {
|
||||||
@ -131,12 +126,11 @@ public interface PetApi {
|
|||||||
}, tags={ "pet", })
|
}, tags={ "pet", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 405, message = "Invalid input", response = Void.class) })
|
@ApiResponse(code = 405, message = "Invalid input", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet/{petId}",
|
@RequestMapping(value = "/pet/{petId}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
consumes = { "application/x-www-form-urlencoded" },
|
consumes = { "application/x-www-form-urlencoded" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Void> updatePetWithForm(@ApiParam(value = "ID of pet that needs to be updated",required=true ) @PathVariable("petId") Long petId,@ApiParam(value = "Updated name of the pet") @RequestPart(value="name", required=false) String name,@ApiParam(value = "Updated status of the pet") @RequestPart(value="status", required=false) String status);
|
ResponseEntity<Void> updatePetWithForm(@ApiParam(value = "ID of pet that needs to be updated",required=true ) @PathVariable("petId") Long petId,@ApiParam(value = "Updated name of the pet") @RequestPart(value="name", required=false) String name,@ApiParam(value = "Updated status of the pet") @RequestPart(value="status", required=false) String status, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "uploads an image", notes = "", response = ModelApiResponse.class, authorizations = {
|
@ApiOperation(value = "uploads an image", notes = "", response = ModelApiResponse.class, authorizations = {
|
||||||
@ -147,11 +141,10 @@ public interface PetApi {
|
|||||||
}, tags={ "pet", })
|
}, tags={ "pet", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) })
|
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/pet/{petId}/uploadImage",
|
@RequestMapping(value = "/pet/{petId}/uploadImage",
|
||||||
produces = { "application/json" },
|
produces = { "application/json" },
|
||||||
consumes = { "multipart/form-data" },
|
consumes = { "multipart/form-data" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<ModelApiResponse> uploadFile(@ApiParam(value = "ID of pet to update",required=true ) @PathVariable("petId") Long petId,@ApiParam(value = "Additional data to pass to server") @RequestPart(value="additionalMetadata", required=false) String additionalMetadata,@ApiParam(value = "file detail") @RequestPart("file") MultipartFile file);
|
ResponseEntity<ModelApiResponse> uploadFile(@ApiParam(value = "ID of pet to update",required=true ) @PathVariable("petId") Long petId,@ApiParam(value = "Additional data to pass to server") @RequestPart(value="additionalMetadata", required=false) String additionalMetadata,@ApiParam(value = "file detail") @RequestPart("file") MultipartFile file, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,57 +18,104 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import java.io.IOException;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public class PetApiController implements PetApi {
|
public class PetApiController implements PetApi {
|
||||||
|
private final ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
public PetApiController(ObjectMapper objectMapper) {
|
||||||
|
this.objectMapper = objectMapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseEntity<Void> addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body,
|
||||||
public ResponseEntity<Void> addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body) {
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> deletePet(@ApiParam(value = "Pet id to delete",required=true ) @PathVariable("petId") Long petId,
|
public ResponseEntity<Void> deletePet(@ApiParam(value = "Pet id to delete",required=true ) @PathVariable("petId") Long petId,
|
||||||
@ApiParam(value = "" ) @RequestHeader(value="api_key", required=false) Optional<String> apiKey) {
|
@ApiParam(value = "" ) @RequestHeader(value="api_key", required=false) Optional<String> apiKey,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<List<Pet>> findPetsByStatus( @NotNull@ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @RequestParam(value = "status", required = true) List<String> status) {
|
public ResponseEntity<List<Pet>> findPetsByStatus( @NotNull@ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @RequestParam(value = "status", required = true) List<String> status,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/xml")) {
|
||||||
|
return new ResponseEntity<List<Pet>>(objectMapper.readValue("<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status></Pet>", List.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<List<Pet>>(objectMapper.readValue("[ { \"photoUrls\" : [ \"aeiou\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"aeiou\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"aeiou\", \"id\" : 1 } ], \"status\" : \"available\"} ]", List.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<List<Pet>>(HttpStatus.OK);
|
return new ResponseEntity<List<Pet>>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<List<Pet>> findPetsByTags( @NotNull@ApiParam(value = "Tags to filter by", required = true) @RequestParam(value = "tags", required = true) List<String> tags) {
|
public ResponseEntity<List<Pet>> findPetsByTags( @NotNull@ApiParam(value = "Tags to filter by", required = true) @RequestParam(value = "tags", required = true) List<String> tags,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/xml")) {
|
||||||
|
return new ResponseEntity<List<Pet>>(objectMapper.readValue("<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status></Pet>", List.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<List<Pet>>(objectMapper.readValue("[ { \"photoUrls\" : [ \"aeiou\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"aeiou\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"aeiou\", \"id\" : 1 } ], \"status\" : \"available\"} ]", List.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<List<Pet>>(HttpStatus.OK);
|
return new ResponseEntity<List<Pet>>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Pet> getPetById(@ApiParam(value = "ID of pet to return",required=true ) @PathVariable("petId") Long petId) {
|
public ResponseEntity<Pet> getPetById(@ApiParam(value = "ID of pet to return",required=true ) @PathVariable("petId") Long petId,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/xml")) {
|
||||||
|
return new ResponseEntity<Pet>(objectMapper.readValue("<Pet> <id>123456789</id> <name>doggie</name> <photoUrls> <photoUrls>aeiou</photoUrls> </photoUrls> <tags> </tags> <status>aeiou</status></Pet>", Pet.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<Pet>(objectMapper.readValue("{ \"photoUrls\" : [ \"aeiou\" ], \"name\" : \"doggie\", \"id\" : 0, \"category\" : { \"name\" : \"aeiou\", \"id\" : 6 }, \"tags\" : [ { \"name\" : \"aeiou\", \"id\" : 1 } ], \"status\" : \"available\"}", Pet.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<Pet>(HttpStatus.OK);
|
return new ResponseEntity<Pet>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body) {
|
public ResponseEntity<Void> updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> updatePetWithForm(@ApiParam(value = "ID of pet that needs to be updated",required=true ) @PathVariable("petId") Long petId,
|
public ResponseEntity<Void> updatePetWithForm(@ApiParam(value = "ID of pet that needs to be updated",required=true ) @PathVariable("petId") Long petId,
|
||||||
@ApiParam(value = "Updated name of the pet") @RequestPart(value="name", required=false) String name,
|
@ApiParam(value = "Updated name of the pet") @RequestPart(value="name", required=false) String name,
|
||||||
@ApiParam(value = "Updated status of the pet") @RequestPart(value="status", required=false) String status) {
|
@ApiParam(value = "Updated status of the pet") @RequestPart(value="status", required=false) String status,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<ModelApiResponse> uploadFile(@ApiParam(value = "ID of pet to update",required=true ) @PathVariable("petId") Long petId,
|
public ResponseEntity<ModelApiResponse> uploadFile(@ApiParam(value = "ID of pet to update",required=true ) @PathVariable("petId") Long petId,
|
||||||
@ApiParam(value = "Additional data to pass to server") @RequestPart(value="additionalMetadata", required=false) String additionalMetadata,
|
@ApiParam(value = "Additional data to pass to server") @RequestPart(value="additionalMetadata", required=false) String additionalMetadata,
|
||||||
@ApiParam(value = "file detail") @RequestPart("file") MultipartFile file) {
|
@ApiParam(value = "file detail") @RequestPart("file") MultipartFile file,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<ModelApiResponse>(objectMapper.readValue("{ \"code\" : 0, \"type\" : \"aeiou\", \"message\" : \"aeiou\"}", ModelApiResponse.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<ModelApiResponse>(HttpStatus.OK);
|
return new ResponseEntity<ModelApiResponse>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* NOTE: This class is auto generated by the swagger code generator program (2.2.3-SNAPSHOT).
|
* NOTE: This class is auto generated by the swagger code generator program (2.3.0-SNAPSHOT).
|
||||||
* https://github.com/swagger-api/swagger-codegen
|
* https://github.com/swagger-api/swagger-codegen
|
||||||
* Do not edit the class manually.
|
* Do not edit the class manually.
|
||||||
*/
|
*/
|
||||||
@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RequestPart;
|
import org.springframework.web.bind.annotation.RequestPart;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -31,11 +32,10 @@ public interface StoreApi {
|
|||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "Order not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "Order not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/store/order/{order_id}",
|
@RequestMapping(value = "/store/order/{order_id}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.DELETE)
|
method = RequestMethod.DELETE)
|
||||||
ResponseEntity<Void> deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted",required=true ) @PathVariable("order_id") String orderId);
|
ResponseEntity<Void> deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted",required=true ) @PathVariable("order_id") String orderId, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Returns pet inventories by status", notes = "Returns a map of status codes to quantities", response = Integer.class, responseContainer = "Map", authorizations = {
|
@ApiOperation(value = "Returns pet inventories by status", notes = "Returns a map of status codes to quantities", response = Integer.class, responseContainer = "Map", authorizations = {
|
||||||
@ -43,11 +43,10 @@ public interface StoreApi {
|
|||||||
}, tags={ "store", })
|
}, tags={ "store", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Integer.class, responseContainer = "Map") })
|
@ApiResponse(code = 200, message = "successful operation", response = Integer.class, responseContainer = "Map") })
|
||||||
|
|
||||||
@RequestMapping(value = "/store/inventory",
|
@RequestMapping(value = "/store/inventory",
|
||||||
produces = { "application/json" },
|
produces = { "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<Map<String, Integer>> getInventory();
|
ResponseEntity<Map<String, Integer>> getInventory( @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Find purchase order by ID", notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", response = Order.class, tags={ "store", })
|
@ApiOperation(value = "Find purchase order by ID", notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", response = Order.class, tags={ "store", })
|
||||||
@ -55,21 +54,19 @@ public interface StoreApi {
|
|||||||
@ApiResponse(code = 200, message = "successful operation", response = Order.class),
|
@ApiResponse(code = 200, message = "successful operation", response = Order.class),
|
||||||
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid ID supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "Order not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "Order not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/store/order/{order_id}",
|
@RequestMapping(value = "/store/order/{order_id}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<Order> getOrderById( @Min(1) @Max(5)@ApiParam(value = "ID of pet that needs to be fetched",required=true ) @PathVariable("order_id") Long orderId);
|
ResponseEntity<Order> getOrderById( @Min(1) @Max(5)@ApiParam(value = "ID of pet that needs to be fetched",required=true ) @PathVariable("order_id") Long orderId, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Place an order for a pet", notes = "", response = Order.class, tags={ "store", })
|
@ApiOperation(value = "Place an order for a pet", notes = "", response = Order.class, tags={ "store", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Order.class),
|
@ApiResponse(code = 200, message = "successful operation", response = Order.class),
|
||||||
@ApiResponse(code = 400, message = "Invalid Order", response = Void.class) })
|
@ApiResponse(code = 400, message = "Invalid Order", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/store/order",
|
@RequestMapping(value = "/store/order",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Order> placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true ) @Valid @RequestBody Order body);
|
ResponseEntity<Order> placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true ) @Valid @RequestBody Order body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -17,32 +17,64 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import java.io.IOException;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public class StoreApiController implements StoreApi {
|
public class StoreApiController implements StoreApi {
|
||||||
|
private final ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
public StoreApiController(ObjectMapper objectMapper) {
|
||||||
|
this.objectMapper = objectMapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseEntity<Void> deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted",required=true ) @PathVariable("order_id") String orderId,
|
||||||
public ResponseEntity<Void> deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted",required=true ) @PathVariable("order_id") String orderId) {
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Map<String, Integer>> getInventory() {
|
public ResponseEntity<Map<String, Integer>> getInventory(@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<Map<String, Integer>>(objectMapper.readValue("{ \"key\" : 0}", Map.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<Map<String, Integer>>(HttpStatus.OK);
|
return new ResponseEntity<Map<String, Integer>>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Order> getOrderById( @Min(1) @Max(5)@ApiParam(value = "ID of pet that needs to be fetched",required=true ) @PathVariable("order_id") Long orderId) {
|
public ResponseEntity<Order> getOrderById( @Min(1) @Max(5)@ApiParam(value = "ID of pet that needs to be fetched",required=true ) @PathVariable("order_id") Long orderId,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/xml")) {
|
||||||
|
return new ResponseEntity<Order>(objectMapper.readValue("<Order> <id>123456789</id> <petId>123456789</petId> <quantity>123</quantity> <shipDate>2000-01-23T04:56:07.000Z</shipDate> <status>aeiou</status> <complete>true</complete></Order>", Order.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<Order>(objectMapper.readValue("{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\"}", Order.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<Order>(HttpStatus.OK);
|
return new ResponseEntity<Order>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Order> placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true ) @Valid @RequestBody Order body) {
|
public ResponseEntity<Order> placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true ) @Valid @RequestBody Order body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/xml")) {
|
||||||
|
return new ResponseEntity<Order>(objectMapper.readValue("<Order> <id>123456789</id> <petId>123456789</petId> <quantity>123</quantity> <shipDate>2000-01-23T04:56:07.000Z</shipDate> <status>aeiou</status> <complete>true</complete></Order>", Order.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<Order>(objectMapper.readValue("{ \"petId\" : 6, \"quantity\" : 1, \"id\" : 0, \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\", \"complete\" : false, \"status\" : \"placed\"}", Order.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<Order>(HttpStatus.OK);
|
return new ResponseEntity<Order>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* NOTE: This class is auto generated by the swagger code generator program (2.2.3-SNAPSHOT).
|
* NOTE: This class is auto generated by the swagger code generator program (2.3.0-SNAPSHOT).
|
||||||
* https://github.com/swagger-api/swagger-codegen
|
* https://github.com/swagger-api/swagger-codegen
|
||||||
* Do not edit the class manually.
|
* Do not edit the class manually.
|
||||||
*/
|
*/
|
||||||
@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RequestPart;
|
import org.springframework.web.bind.annotation.RequestPart;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -30,42 +31,38 @@ public interface UserApi {
|
|||||||
@ApiOperation(value = "Create user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", })
|
@ApiOperation(value = "Create user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user",
|
@RequestMapping(value = "/user",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Void> createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody User body);
|
ResponseEntity<Void> createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody User body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Creates list of users with given input array", notes = "", response = Void.class, tags={ "user", })
|
@ApiOperation(value = "Creates list of users with given input array", notes = "", response = Void.class, tags={ "user", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user/createWithArray",
|
@RequestMapping(value = "/user/createWithArray",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Void> createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body);
|
ResponseEntity<Void> createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Creates list of users with given input array", notes = "", response = Void.class, tags={ "user", })
|
@ApiOperation(value = "Creates list of users with given input array", notes = "", response = Void.class, tags={ "user", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user/createWithList",
|
@RequestMapping(value = "/user/createWithList",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.POST)
|
method = RequestMethod.POST)
|
||||||
ResponseEntity<Void> createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body);
|
ResponseEntity<Void> createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Delete user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", })
|
@ApiOperation(value = "Delete user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user/{username}",
|
@RequestMapping(value = "/user/{username}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.DELETE)
|
method = RequestMethod.DELETE)
|
||||||
ResponseEntity<Void> deleteUser(@ApiParam(value = "The name that needs to be deleted",required=true ) @PathVariable("username") String username);
|
ResponseEntity<Void> deleteUser(@ApiParam(value = "The name that needs to be deleted",required=true ) @PathVariable("username") String username, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Get user by user name", notes = "", response = User.class, tags={ "user", })
|
@ApiOperation(value = "Get user by user name", notes = "", response = User.class, tags={ "user", })
|
||||||
@ -73,42 +70,38 @@ public interface UserApi {
|
|||||||
@ApiResponse(code = 200, message = "successful operation", response = User.class),
|
@ApiResponse(code = 200, message = "successful operation", response = User.class),
|
||||||
@ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid username supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user/{username}",
|
@RequestMapping(value = "/user/{username}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<User> getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing. ",required=true ) @PathVariable("username") String username);
|
ResponseEntity<User> getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing. ",required=true ) @PathVariable("username") String username, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Logs user into the system", notes = "", response = String.class, tags={ "user", })
|
@ApiOperation(value = "Logs user into the system", notes = "", response = String.class, tags={ "user", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = String.class),
|
@ApiResponse(code = 200, message = "successful operation", response = String.class),
|
||||||
@ApiResponse(code = 400, message = "Invalid username/password supplied", response = Void.class) })
|
@ApiResponse(code = 400, message = "Invalid username/password supplied", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user/login",
|
@RequestMapping(value = "/user/login",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<String> loginUser( @NotNull@ApiParam(value = "The user name for login", required = true) @RequestParam(value = "username", required = true) String username, @NotNull@ApiParam(value = "The password for login in clear text", required = true) @RequestParam(value = "password", required = true) String password);
|
ResponseEntity<String> loginUser( @NotNull@ApiParam(value = "The user name for login", required = true) @RequestParam(value = "username", required = true) String username, @NotNull@ApiParam(value = "The password for login in clear text", required = true) @RequestParam(value = "password", required = true) String password, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Logs out current logged in user session", notes = "", response = Void.class, tags={ "user", })
|
@ApiOperation(value = "Logs out current logged in user session", notes = "", response = Void.class, tags={ "user", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
@ApiResponse(code = 200, message = "successful operation", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user/logout",
|
@RequestMapping(value = "/user/logout",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.GET)
|
method = RequestMethod.GET)
|
||||||
ResponseEntity<Void> logoutUser();
|
ResponseEntity<Void> logoutUser( @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value = "Updated user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", })
|
@ApiOperation(value = "Updated user", notes = "This can only be done by the logged in user.", response = Void.class, tags={ "user", })
|
||||||
@ApiResponses(value = {
|
@ApiResponses(value = {
|
||||||
@ApiResponse(code = 400, message = "Invalid user supplied", response = Void.class),
|
@ApiResponse(code = 400, message = "Invalid user supplied", response = Void.class),
|
||||||
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
@ApiResponse(code = 404, message = "User not found", response = Void.class) })
|
||||||
|
|
||||||
@RequestMapping(value = "/user/{username}",
|
@RequestMapping(value = "/user/{username}",
|
||||||
produces = { "application/xml", "application/json" },
|
produces = { "application/xml", "application/json" },
|
||||||
method = RequestMethod.PUT)
|
method = RequestMethod.PUT)
|
||||||
ResponseEntity<Void> updateUser(@ApiParam(value = "name that need to be deleted",required=true ) @PathVariable("username") String username,@ApiParam(value = "Updated user object" ,required=true ) @Valid @RequestBody User body);
|
ResponseEntity<Void> updateUser(@ApiParam(value = "name that need to be deleted",required=true ) @PathVariable("username") String username,@ApiParam(value = "Updated user object" ,required=true ) @Valid @RequestBody User body, @RequestHeader(value = "Accept", required = false) String accept) throws Exception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -17,53 +17,84 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import java.io.IOException;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public class UserApiController implements UserApi {
|
public class UserApiController implements UserApi {
|
||||||
|
private final ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
public UserApiController(ObjectMapper objectMapper) {
|
||||||
|
this.objectMapper = objectMapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResponseEntity<Void> createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody User body,
|
||||||
public ResponseEntity<Void> createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody User body) {
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body) {
|
public ResponseEntity<Void> createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body) {
|
public ResponseEntity<Void> createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> deleteUser(@ApiParam(value = "The name that needs to be deleted",required=true ) @PathVariable("username") String username) {
|
public ResponseEntity<Void> deleteUser(@ApiParam(value = "The name that needs to be deleted",required=true ) @PathVariable("username") String username,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<User> getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing. ",required=true ) @PathVariable("username") String username) {
|
public ResponseEntity<User> getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing. ",required=true ) @PathVariable("username") String username,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/xml")) {
|
||||||
|
return new ResponseEntity<User>(objectMapper.readValue("<User> <id>123456789</id> <username>aeiou</username> <firstName>aeiou</firstName> <lastName>aeiou</lastName> <email>aeiou</email> <password>aeiou</password> <phone>aeiou</phone> <userStatus>123</userStatus></User>", User.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<User>(objectMapper.readValue("{ \"firstName\" : \"aeiou\", \"lastName\" : \"aeiou\", \"password\" : \"aeiou\", \"userStatus\" : 6, \"phone\" : \"aeiou\", \"id\" : 0, \"email\" : \"aeiou\", \"username\" : \"aeiou\"}", User.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<User>(HttpStatus.OK);
|
return new ResponseEntity<User>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<String> loginUser( @NotNull@ApiParam(value = "The user name for login", required = true) @RequestParam(value = "username", required = true) String username,
|
public ResponseEntity<String> loginUser( @NotNull@ApiParam(value = "The user name for login", required = true) @RequestParam(value = "username", required = true) String username,
|
||||||
@NotNull@ApiParam(value = "The password for login in clear text", required = true) @RequestParam(value = "password", required = true) String password) {
|
@NotNull@ApiParam(value = "The password for login in clear text", required = true) @RequestParam(value = "password", required = true) String password,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/xml")) {
|
||||||
|
return new ResponseEntity<String>(objectMapper.readValue("aeiou", String.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (accept != null && accept.contains("application/json")) {
|
||||||
|
return new ResponseEntity<String>(objectMapper.readValue("\"aeiou\"", String.class), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
return new ResponseEntity<String>(HttpStatus.OK);
|
return new ResponseEntity<String>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> logoutUser() {
|
public ResponseEntity<Void> logoutUser(@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResponseEntity<Void> updateUser(@ApiParam(value = "name that need to be deleted",required=true ) @PathVariable("username") String username,
|
public ResponseEntity<Void> updateUser(@ApiParam(value = "name that need to be deleted",required=true ) @PathVariable("username") String username,
|
||||||
@ApiParam(value = "Updated user object" ,required=true ) @Valid @RequestBody User body) {
|
@ApiParam(value = "Updated user object" ,required=true ) @Valid @RequestBody User body,
|
||||||
|
@RequestHeader(value = "Accept", required = false) String accept) throws Exception {
|
||||||
// do some magic!
|
// do some magic!
|
||||||
return new ResponseEntity<Void>(HttpStatus.OK);
|
return new ResponseEntity<Void>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,232 @@
|
|||||||
|
package io.swagger.configuration;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonParser;
|
||||||
|
import com.fasterxml.jackson.core.JsonTokenId;
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||||
|
import com.fasterxml.jackson.datatype.threetenbp.DateTimeUtils;
|
||||||
|
import com.fasterxml.jackson.datatype.threetenbp.DecimalUtils;
|
||||||
|
import com.fasterxml.jackson.datatype.threetenbp.deser.ThreeTenDateTimeDeserializerBase;
|
||||||
|
import com.fasterxml.jackson.datatype.threetenbp.function.BiFunction;
|
||||||
|
import com.fasterxml.jackson.datatype.threetenbp.function.Function;
|
||||||
|
import org.threeten.bp.DateTimeException;
|
||||||
|
import org.threeten.bp.Instant;
|
||||||
|
import org.threeten.bp.OffsetDateTime;
|
||||||
|
import org.threeten.bp.ZoneId;
|
||||||
|
import org.threeten.bp.ZonedDateTime;
|
||||||
|
import org.threeten.bp.format.DateTimeFormatter;
|
||||||
|
import org.threeten.bp.temporal.Temporal;
|
||||||
|
import org.threeten.bp.temporal.TemporalAccessor;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deserializer for ThreeTen temporal {@link Instant}s, {@link OffsetDateTime}, and {@link ZonedDateTime}s.
|
||||||
|
* Adapted from the jackson threetenbp InstantDeserializer to add support for deserializing rfc822 format.
|
||||||
|
*
|
||||||
|
* @author Nick Williams
|
||||||
|
*/
|
||||||
|
public class CustomInstantDeserializer<T extends Temporal>
|
||||||
|
extends ThreeTenDateTimeDeserializerBase<T> {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public static final CustomInstantDeserializer<Instant> INSTANT = new CustomInstantDeserializer<Instant>(
|
||||||
|
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||||
|
new Function<TemporalAccessor, Instant>() {
|
||||||
|
@Override
|
||||||
|
public Instant apply(TemporalAccessor temporalAccessor) {
|
||||||
|
return Instant.from(temporalAccessor);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new Function<FromIntegerArguments, Instant>() {
|
||||||
|
@Override
|
||||||
|
public Instant apply(FromIntegerArguments a) {
|
||||||
|
return Instant.ofEpochMilli(a.value);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new Function<FromDecimalArguments, Instant>() {
|
||||||
|
@Override
|
||||||
|
public Instant apply(FromDecimalArguments a) {
|
||||||
|
return Instant.ofEpochSecond(a.integer, a.fraction);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
null
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final CustomInstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new CustomInstantDeserializer<OffsetDateTime>(
|
||||||
|
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||||
|
new Function<TemporalAccessor, OffsetDateTime>() {
|
||||||
|
@Override
|
||||||
|
public OffsetDateTime apply(TemporalAccessor temporalAccessor) {
|
||||||
|
return OffsetDateTime.from(temporalAccessor);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new Function<FromIntegerArguments, OffsetDateTime>() {
|
||||||
|
@Override
|
||||||
|
public OffsetDateTime apply(FromIntegerArguments a) {
|
||||||
|
return OffsetDateTime.ofInstant(Instant.ofEpochMilli(a.value), a.zoneId);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new Function<FromDecimalArguments, OffsetDateTime>() {
|
||||||
|
@Override
|
||||||
|
public OffsetDateTime apply(FromDecimalArguments a) {
|
||||||
|
return OffsetDateTime.ofInstant(Instant.ofEpochSecond(a.integer, a.fraction), a.zoneId);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new BiFunction<OffsetDateTime, ZoneId, OffsetDateTime>() {
|
||||||
|
@Override
|
||||||
|
public OffsetDateTime apply(OffsetDateTime d, ZoneId z) {
|
||||||
|
return d.withOffsetSameInstant(z.getRules().getOffset(d.toLocalDateTime()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final CustomInstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new CustomInstantDeserializer<ZonedDateTime>(
|
||||||
|
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||||
|
new Function<TemporalAccessor, ZonedDateTime>() {
|
||||||
|
@Override
|
||||||
|
public ZonedDateTime apply(TemporalAccessor temporalAccessor) {
|
||||||
|
return ZonedDateTime.from(temporalAccessor);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new Function<FromIntegerArguments, ZonedDateTime>() {
|
||||||
|
@Override
|
||||||
|
public ZonedDateTime apply(FromIntegerArguments a) {
|
||||||
|
return ZonedDateTime.ofInstant(Instant.ofEpochMilli(a.value), a.zoneId);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new Function<FromDecimalArguments, ZonedDateTime>() {
|
||||||
|
@Override
|
||||||
|
public ZonedDateTime apply(FromDecimalArguments a) {
|
||||||
|
return ZonedDateTime.ofInstant(Instant.ofEpochSecond(a.integer, a.fraction), a.zoneId);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new BiFunction<ZonedDateTime, ZoneId, ZonedDateTime>() {
|
||||||
|
@Override
|
||||||
|
public ZonedDateTime apply(ZonedDateTime zonedDateTime, ZoneId zoneId) {
|
||||||
|
return zonedDateTime.withZoneSameInstant(zoneId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
protected final Function<FromIntegerArguments, T> fromMilliseconds;
|
||||||
|
|
||||||
|
protected final Function<FromDecimalArguments, T> fromNanoseconds;
|
||||||
|
|
||||||
|
protected final Function<TemporalAccessor, T> parsedToValue;
|
||||||
|
|
||||||
|
protected final BiFunction<T, ZoneId, T> adjust;
|
||||||
|
|
||||||
|
protected CustomInstantDeserializer(Class<T> supportedType,
|
||||||
|
DateTimeFormatter parser,
|
||||||
|
Function<TemporalAccessor, T> parsedToValue,
|
||||||
|
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||||
|
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||||
|
BiFunction<T, ZoneId, T> adjust) {
|
||||||
|
super(supportedType, parser);
|
||||||
|
this.parsedToValue = parsedToValue;
|
||||||
|
this.fromMilliseconds = fromMilliseconds;
|
||||||
|
this.fromNanoseconds = fromNanoseconds;
|
||||||
|
this.adjust = adjust == null ? new BiFunction<T, ZoneId, T>() {
|
||||||
|
@Override
|
||||||
|
public T apply(T t, ZoneId zoneId) {
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
} : adjust;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
protected CustomInstantDeserializer(CustomInstantDeserializer<T> base, DateTimeFormatter f) {
|
||||||
|
super((Class<T>) base.handledType(), f);
|
||||||
|
parsedToValue = base.parsedToValue;
|
||||||
|
fromMilliseconds = base.fromMilliseconds;
|
||||||
|
fromNanoseconds = base.fromNanoseconds;
|
||||||
|
adjust = base.adjust;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected JsonDeserializer<T> withDateFormat(DateTimeFormatter dtf) {
|
||||||
|
if (dtf == _formatter) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
return new CustomInstantDeserializer<T>(this, dtf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public T deserialize(JsonParser parser, DeserializationContext context) throws IOException {
|
||||||
|
//NOTE: Timestamps contain no timezone info, and are always in configured TZ. Only
|
||||||
|
//string values have to be adjusted to the configured TZ.
|
||||||
|
switch (parser.getCurrentTokenId()) {
|
||||||
|
case JsonTokenId.ID_NUMBER_FLOAT: {
|
||||||
|
BigDecimal value = parser.getDecimalValue();
|
||||||
|
long seconds = value.longValue();
|
||||||
|
int nanoseconds = DecimalUtils.extractNanosecondDecimal(value, seconds);
|
||||||
|
return fromNanoseconds.apply(new FromDecimalArguments(
|
||||||
|
seconds, nanoseconds, getZone(context)));
|
||||||
|
}
|
||||||
|
|
||||||
|
case JsonTokenId.ID_NUMBER_INT: {
|
||||||
|
long timestamp = parser.getLongValue();
|
||||||
|
if (context.isEnabled(DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS)) {
|
||||||
|
return this.fromNanoseconds.apply(new FromDecimalArguments(
|
||||||
|
timestamp, 0, this.getZone(context)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
return this.fromMilliseconds.apply(new FromIntegerArguments(
|
||||||
|
timestamp, this.getZone(context)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
case JsonTokenId.ID_STRING: {
|
||||||
|
String string = parser.getText().trim();
|
||||||
|
if (string.length() == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (string.endsWith("+0000")) {
|
||||||
|
string = string.substring(0, string.length() - 5) + "Z";
|
||||||
|
}
|
||||||
|
T value;
|
||||||
|
try {
|
||||||
|
TemporalAccessor acc = _formatter.parse(string);
|
||||||
|
value = parsedToValue.apply(acc);
|
||||||
|
if (context.isEnabled(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE)) {
|
||||||
|
return adjust.apply(value, this.getZone(context));
|
||||||
|
}
|
||||||
|
} catch (DateTimeException e) {
|
||||||
|
throw _peelDTE(e);
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw context.mappingException("Expected type float, integer, or string.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private ZoneId getZone(DeserializationContext context) {
|
||||||
|
// Instants are always in UTC, so don't waste compute cycles
|
||||||
|
return (_valueClass == Instant.class) ? null : DateTimeUtils.timeZoneToZoneId(context.getTimeZone());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class FromIntegerArguments {
|
||||||
|
public final long value;
|
||||||
|
public final ZoneId zoneId;
|
||||||
|
|
||||||
|
private FromIntegerArguments(long value, ZoneId zoneId) {
|
||||||
|
this.value = value;
|
||||||
|
this.zoneId = zoneId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class FromDecimalArguments {
|
||||||
|
public final long integer;
|
||||||
|
public final int fraction;
|
||||||
|
public final ZoneId zoneId;
|
||||||
|
|
||||||
|
private FromDecimalArguments(long integer, int fraction, ZoneId zoneId) {
|
||||||
|
this.integer = integer;
|
||||||
|
this.fraction = fraction;
|
||||||
|
this.zoneId = zoneId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package io.swagger.configuration;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.datatype.threetenbp.ThreeTenModule;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.threeten.bp.Instant;
|
||||||
|
import org.threeten.bp.OffsetDateTime;
|
||||||
|
import org.threeten.bp.ZonedDateTime;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class JacksonConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnMissingBean(ThreeTenModule.class)
|
||||||
|
ThreeTenModule threeTenModule() {
|
||||||
|
ThreeTenModule module = new ThreeTenModule();
|
||||||
|
module.addDeserializer(Instant.class, CustomInstantDeserializer.INSTANT);
|
||||||
|
module.addDeserializer(OffsetDateTime.class, CustomInstantDeserializer.OFFSET_DATE_TIME);
|
||||||
|
module.addDeserializer(ZonedDateTime.class, CustomInstantDeserializer.ZONED_DATE_TIME);
|
||||||
|
return module;
|
||||||
|
}
|
||||||
|
}
|
@ -32,8 +32,8 @@ public class SwaggerDocumentationConfig {
|
|||||||
.select()
|
.select()
|
||||||
.apis(RequestHandlerSelectors.basePackage("io.swagger.api"))
|
.apis(RequestHandlerSelectors.basePackage("io.swagger.api"))
|
||||||
.build()
|
.build()
|
||||||
.directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class)
|
.directModelSubstitute(org.threeten.bp.LocalDate.class, java.sql.Date.class)
|
||||||
.directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class)
|
.directModelSubstitute(org.threeten.bp.OffsetDateTime.class, java.util.Date.class)
|
||||||
.apiInfo(apiInfo());
|
.apiInfo(apiInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@ import io.swagger.annotations.ApiModel;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import org.joda.time.DateTime;
|
import org.threeten.bp.LocalDate;
|
||||||
import org.joda.time.LocalDate;
|
import org.threeten.bp.OffsetDateTime;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ public class FormatTest {
|
|||||||
private LocalDate date = null;
|
private LocalDate date = null;
|
||||||
|
|
||||||
@JsonProperty("dateTime")
|
@JsonProperty("dateTime")
|
||||||
private DateTime dateTime = null;
|
private OffsetDateTime dateTime = null;
|
||||||
|
|
||||||
@JsonProperty("uuid")
|
@JsonProperty("uuid")
|
||||||
private UUID uuid = null;
|
private UUID uuid = null;
|
||||||
@ -271,7 +271,7 @@ public class FormatTest {
|
|||||||
this.date = date;
|
this.date = date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FormatTest dateTime(DateTime dateTime) {
|
public FormatTest dateTime(OffsetDateTime dateTime) {
|
||||||
this.dateTime = dateTime;
|
this.dateTime = dateTime;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -284,11 +284,11 @@ public class FormatTest {
|
|||||||
|
|
||||||
@Valid
|
@Valid
|
||||||
|
|
||||||
public DateTime getDateTime() {
|
public OffsetDateTime getDateTime() {
|
||||||
return dateTime;
|
return dateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDateTime(DateTime dateTime) {
|
public void setDateTime(OffsetDateTime dateTime) {
|
||||||
this.dateTime = dateTime;
|
this.dateTime = dateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import org.joda.time.DateTime;
|
import org.threeten.bp.OffsetDateTime;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ public class MixedPropertiesAndAdditionalPropertiesClass {
|
|||||||
private UUID uuid = null;
|
private UUID uuid = null;
|
||||||
|
|
||||||
@JsonProperty("dateTime")
|
@JsonProperty("dateTime")
|
||||||
private DateTime dateTime = null;
|
private OffsetDateTime dateTime = null;
|
||||||
|
|
||||||
@JsonProperty("map")
|
@JsonProperty("map")
|
||||||
private Map<String, Animal> map = null;
|
private Map<String, Animal> map = null;
|
||||||
@ -49,7 +49,7 @@ public class MixedPropertiesAndAdditionalPropertiesClass {
|
|||||||
this.uuid = uuid;
|
this.uuid = uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MixedPropertiesAndAdditionalPropertiesClass dateTime(DateTime dateTime) {
|
public MixedPropertiesAndAdditionalPropertiesClass dateTime(OffsetDateTime dateTime) {
|
||||||
this.dateTime = dateTime;
|
this.dateTime = dateTime;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -62,11 +62,11 @@ public class MixedPropertiesAndAdditionalPropertiesClass {
|
|||||||
|
|
||||||
@Valid
|
@Valid
|
||||||
|
|
||||||
public DateTime getDateTime() {
|
public OffsetDateTime getDateTime() {
|
||||||
return dateTime;
|
return dateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDateTime(DateTime dateTime) {
|
public void setDateTime(OffsetDateTime dateTime) {
|
||||||
this.dateTime = dateTime;
|
this.dateTime = dateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
|||||||
import com.fasterxml.jackson.annotation.JsonValue;
|
import com.fasterxml.jackson.annotation.JsonValue;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import org.joda.time.DateTime;
|
import org.threeten.bp.OffsetDateTime;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ public class Order {
|
|||||||
private Integer quantity = null;
|
private Integer quantity = null;
|
||||||
|
|
||||||
@JsonProperty("shipDate")
|
@JsonProperty("shipDate")
|
||||||
private DateTime shipDate = null;
|
private OffsetDateTime shipDate = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Order Status
|
* Order Status
|
||||||
@ -126,7 +126,7 @@ public class Order {
|
|||||||
this.quantity = quantity;
|
this.quantity = quantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Order shipDate(DateTime shipDate) {
|
public Order shipDate(OffsetDateTime shipDate) {
|
||||||
this.shipDate = shipDate;
|
this.shipDate = shipDate;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -139,11 +139,11 @@ public class Order {
|
|||||||
|
|
||||||
@Valid
|
@Valid
|
||||||
|
|
||||||
public DateTime getShipDate() {
|
public OffsetDateTime getShipDate() {
|
||||||
return shipDate;
|
return shipDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setShipDate(DateTime shipDate) {
|
public void setShipDate(OffsetDateTime shipDate) {
|
||||||
this.shipDate = shipDate;
|
this.shipDate = shipDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user