From 38bac9dfb41a491d812f6cb055cf5c1cfb0c6197 Mon Sep 17 00:00:00 2001 From: wing328 Date: Tue, 19 Jan 2016 23:35:23 +0800 Subject: [PATCH 1/3] fix byte[] in spring mvc and java inflector --- .../languages/JavaInflectorServerCodegen.java | 1 + .../languages/SpringMVCServerCodegen.java | 1 + .../io/swagger/handler/PetController.java | 8 ++- .../io/swagger/handler/StoreController.java | 2 +- .../io/swagger/handler/UserController.java | 2 +- .../main/java/io/swagger/model/Category.java | 2 +- .../src/main/java/io/swagger/model/Order.java | 2 +- .../src/main/java/io/swagger/model/Pet.java | 2 +- .../src/main/java/io/swagger/model/Tag.java | 2 +- .../src/main/java/io/swagger/model/User.java | 2 +- .../src/main/swagger/swagger.yaml | 66 +++++++++++++++++++ .../java/io/swagger/api/ApiException.java | 2 +- .../java/io/swagger/api/ApiOriginFilter.java | 2 +- .../io/swagger/api/ApiResponseMessage.java | 2 +- .../io/swagger/api/NotFoundException.java | 2 +- .../src/main/java/io/swagger/api/PetApi.java | 24 ++++++- .../main/java/io/swagger/api/StoreApi.java | 2 +- .../src/main/java/io/swagger/api/UserApi.java | 2 +- .../swagger/configuration/SwaggerConfig.java | 2 +- .../configuration/SwaggerUiConfiguration.java | 2 +- .../swagger/configuration/WebApplication.java | 2 +- .../configuration/WebMvcConfiguration.java | 2 +- .../main/java/io/swagger/model/Category.java | 2 +- .../src/main/java/io/swagger/model/Order.java | 2 +- .../src/main/java/io/swagger/model/Pet.java | 2 +- .../src/main/java/io/swagger/model/Tag.java | 2 +- .../src/main/java/io/swagger/model/User.java | 2 +- 27 files changed, 120 insertions(+), 24 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java index 01ca02f185d..0904629d489 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaInflectorServerCodegen.java @@ -35,6 +35,7 @@ public JavaInflectorServerCodegen() { languageSpecificPrimitives = new HashSet( Arrays.asList( + "byte[]", "String", "boolean", "Boolean", diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java index 256f78b02b6..4d2070a2143 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/SpringMVCServerCodegen.java @@ -34,6 +34,7 @@ public SpringMVCServerCodegen() { languageSpecificPrimitives = new HashSet( Arrays.asList( + "byte[]", "String", "boolean", "Boolean", diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/PetController.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/PetController.java index 3690a40f94c..9a9c25f919f 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/PetController.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/PetController.java @@ -13,7 +13,7 @@ import io.swagger.model.Pet; import java.io.File; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class PetController { /** * Uncomment and implement as you see fit. These operations will map @@ -69,5 +69,11 @@ public ResponseContext uploadFile(RequestContext request , Long petId, String ad } */ + /* + public ResponseContext getPetByIdWithByteArray(RequestContext request , Long petId) { + return new ResponseContext().status(Status.INTERNAL_SERVER_ERROR).entity( "Not implemented" ); + } + */ + } diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/StoreController.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/StoreController.java index 464fe9d67cf..e00b1a67048 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/StoreController.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/StoreController.java @@ -13,7 +13,7 @@ import java.util.Map; import io.swagger.model.Order; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class StoreController { /** * Uncomment and implement as you see fit. These operations will map diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/UserController.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/UserController.java index ccbcc4ea413..41331602f07 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/UserController.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/handler/UserController.java @@ -13,7 +13,7 @@ import io.swagger.model.User; import java.util.*; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class UserController { /** * Uncomment and implement as you see fit. These operations will map diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Category.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Category.java index bc9d61291ea..ce925e6cfb8 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Category.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Category.java @@ -10,7 +10,7 @@ -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class Category { private Long id = null; diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Order.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Order.java index cd08d7623da..4a1505f7442 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Order.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Order.java @@ -11,7 +11,7 @@ -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class Order { private Long id = null; diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Pet.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Pet.java index ed11d7ada61..1e62a0a60dd 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Pet.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Pet.java @@ -13,7 +13,7 @@ -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class Pet { private Long id = null; diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Tag.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Tag.java index 42b385d3e81..c0d2e1e4c0e 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Tag.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/Tag.java @@ -10,7 +10,7 @@ -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class Tag { private Long id = null; diff --git a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/User.java b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/User.java index 2d33376bd8a..e2982024306 100644 --- a/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/User.java +++ b/samples/server/petstore/java-inflector/src/main/java/io/swagger/model/User.java @@ -10,7 +10,7 @@ -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-05T14:57:33.884+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaInflectorServerCodegen", date = "2016-01-19T23:33:17.124+08:00") public class User { private Long id = null; diff --git a/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml b/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml index 00fefa7f678..6e00a887848 100644 --- a/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml +++ b/samples/server/petstore/java-inflector/src/main/swagger/swagger.yaml @@ -287,6 +287,72 @@ paths: - "read:pets" x-contentType: "multipart/form-data" x-accepts: "application/json" + /pet/{petId}?testing_byte_array=true: + get: + tags: + - "pet" + summary: "Fake endpoint to test byte array return by 'Find pet by ID'" + description: "Returns a pet when ID < 10. ID > 10 or nonintegers will simulate\ + \ API error conditions" + operationId: "getPetByIdWithByteArray" + produces: + - "application/json" + - "application/xml" + parameters: + - name: "petId" + in: "path" + description: "ID of pet that needs to be fetched" + required: true + type: "integer" + format: "int64" + responses: + 200: + description: "successful operation" + schema: + type: "string" + format: "binary" + 400: + description: "Invalid ID supplied" + 404: + description: "Pet not found" + security: + - api_key: [] + - petstore_auth: + - "write:pets" + - "read:pets" + x-contentType: "application/json" + x-accepts: "application/json" + /pet?testing_byte_array=true: + post: + tags: + - "pet" + summary: "Fake endpoint to test byte array in body parameter for adding a new\ + \ pet to the store" + description: "" + operationId: "addPetUsingByteArray" + consumes: + - "application/json" + - "application/xml" + produces: + - "application/json" + - "application/xml" + parameters: + - in: "body" + name: "body" + description: "Pet object in the form of byte array" + required: false + schema: + type: "string" + format: "binary" + responses: + 405: + description: "Invalid input" + security: + - petstore_auth: + - "write:pets" + - "read:pets" + x-contentType: "application/json" + x-accepts: "application/json" /store/inventory: get: tags: diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiException.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiException.java index f44e2fb1107..a6d35c09ac2 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiException.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiException.java @@ -1,6 +1,6 @@ package io.swagger.api; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class ApiException extends Exception{ private int code; public ApiException (int code, String msg) { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiOriginFilter.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiOriginFilter.java index a159b42ffac..f76631e5b3e 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiOriginFilter.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiOriginFilter.java @@ -5,7 +5,7 @@ import javax.servlet.*; import javax.servlet.http.HttpServletResponse; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class ApiOriginFilter implements javax.servlet.Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiResponseMessage.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiResponseMessage.java index b8a03ce3290..d3b5544f70e 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiResponseMessage.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/ApiResponseMessage.java @@ -3,7 +3,7 @@ import javax.xml.bind.annotation.XmlTransient; @javax.xml.bind.annotation.XmlRootElement -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class ApiResponseMessage { public static final int ERROR = 1; public static final int WARNING = 2; diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/NotFoundException.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/NotFoundException.java index 094c3355bd5..dfd7b6bd2d5 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/NotFoundException.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/NotFoundException.java @@ -1,6 +1,6 @@ package io.swagger.api; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class NotFoundException extends ApiException { private int code; public NotFoundException (int code, String msg) { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java index e6eee98d257..38cc7aa30a6 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/PetApi.java @@ -32,7 +32,7 @@ @Controller @RequestMapping(value = "/pet", produces = {APPLICATION_JSON_VALUE}) @Api(value = "/pet", description = "the pet API") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class PetApi { @@ -245,4 +245,26 @@ public ResponseEntity uploadFile( } + + @ApiOperation(value = "Fake endpoint to test byte array return by 'Find pet by ID'", notes = "Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions", response = byte[].class, authorizations = { + @Authorization(value = "api_key") + }) + @ApiResponses(value = { + @ApiResponse(code = 200, message = "successful operation"), + @ApiResponse(code = 400, message = "Invalid ID supplied"), + @ApiResponse(code = 404, message = "Pet not found") }) + @RequestMapping(value = "/{petId}?testing_byte_array=true", + produces = { "application/json", "application/xml" }, + + method = RequestMethod.GET) + public ResponseEntity getPetByIdWithByteArray( +@ApiParam(value = "ID of pet that needs to be fetched",required=true ) @PathVariable("petId") Long petId + +) + throws NotFoundException { + // do some magic! + return new ResponseEntity(HttpStatus.OK); + } + + } diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java index 17bbe217dd1..75a13dd0aaf 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/StoreApi.java @@ -32,7 +32,7 @@ @Controller @RequestMapping(value = "/store", produces = {APPLICATION_JSON_VALUE}) @Api(value = "/store", description = "the store API") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class StoreApi { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java index 64fd8894f88..1266348cf11 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/api/UserApi.java @@ -32,7 +32,7 @@ @Controller @RequestMapping(value = "/user", produces = {APPLICATION_JSON_VALUE}) @Api(value = "/user", description = "the user API") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class UserApi { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerConfig.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerConfig.java index 14e93aa3397..19a5638cb2a 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerConfig.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerConfig.java @@ -18,7 +18,7 @@ @EnableSwagger2 //Loads the spring beans required by the framework @PropertySource("classpath:swagger.properties") @Import(SwaggerUiConfiguration.class) -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class SwaggerConfig { @Bean ApiInfo apiInfo() { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerUiConfiguration.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerUiConfiguration.java index 831a6cdfd1f..27f222f151d 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerUiConfiguration.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/SwaggerUiConfiguration.java @@ -8,7 +8,7 @@ @Configuration @EnableWebMvc -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class SwaggerUiConfiguration extends WebMvcConfigurerAdapter { private static final String[] SERVLET_RESOURCE_LOCATIONS = { "/" }; diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebApplication.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebApplication.java index 101c89830ed..fa2b9203709 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebApplication.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebApplication.java @@ -2,7 +2,7 @@ import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class WebApplication extends AbstractAnnotationConfigDispatcherServletInitializer { @Override diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebMvcConfiguration.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebMvcConfiguration.java index 5ba1162c8f3..a82b4ba1681 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebMvcConfiguration.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/configuration/WebMvcConfiguration.java @@ -3,7 +3,7 @@ import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class WebMvcConfiguration extends WebMvcConfigurationSupport { @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Category.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Category.java index 557e974e2fa..56502c5c5a7 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Category.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Category.java @@ -12,7 +12,7 @@ @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class Category { private Long id = null; diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Order.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Order.java index 3ce6477230c..7cbe0837281 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Order.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Order.java @@ -13,7 +13,7 @@ @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class Order { private Long id = null; diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Pet.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Pet.java index 69ee09fa7ee..87700ddce56 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Pet.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Pet.java @@ -15,7 +15,7 @@ @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class Pet { private Long id = null; diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Tag.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Tag.java index c988a0682ca..5772279cc5e 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Tag.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/Tag.java @@ -12,7 +12,7 @@ @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class Tag { private Long id = null; diff --git a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/User.java b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/User.java index 0e87d9b86c8..82266688a2f 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/User.java +++ b/samples/server/petstore/spring-mvc/src/main/java/io/swagger/model/User.java @@ -12,7 +12,7 @@ @ApiModel(description = "") -@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-05T15:01:20.501+08:00") +@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-19T23:33:00.911+08:00") public class User { private Long id = null; From a4eb5a8fa074c816e5e53730f9a792e5cb39afe8 Mon Sep 17 00:00:00 2001 From: wing328 Date: Tue, 19 Jan 2016 23:35:59 +0800 Subject: [PATCH 2/3] fix silex shell script --- bin/silex-petstore-server.sh | 2 +- .../petstore/silex/SwaggerServer/README.md | 2 +- .../petstore/silex/SwaggerServer/index.php | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/bin/silex-petstore-server.sh b/bin/silex-petstore-server.sh index ffa030b88c3..85b658a3723 100755 --- a/bin/silex-petstore-server.sh +++ b/bin/silex-petstore-server.sh @@ -26,6 +26,6 @@ fi # if you've executed sbt assembly previously it will use that instead. export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" -ags="$@ generate -t modules/swagger-codegen/src/main/resources/silex -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l silex -o samples/server/petstore/silex" +ags="$@ generate -t modules/swagger-codegen/src/main/resources/silex -i modules/swagger-codegen/src/test/resources/2_0/petstore.json -l silex-PHP -o samples/server/petstore/silex" java $JAVA_OPTS -jar $executable $ags diff --git a/samples/server/petstore/silex/SwaggerServer/README.md b/samples/server/petstore/silex/SwaggerServer/README.md index 9f35636b3f8..d335e2f4ab8 100644 --- a/samples/server/petstore/silex/SwaggerServer/README.md +++ b/samples/server/petstore/silex/SwaggerServer/README.md @@ -2,7 +2,7 @@ ## Overview This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the -[swagger-spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub. This +[OpenAPI-Spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub. This is an example of building a PHP server. This example uses the [Silex](http://silex.sensiolabs.org/) micro-framework. To see how to make this your own, please take a look at the template here: diff --git a/samples/server/petstore/silex/SwaggerServer/index.php b/samples/server/petstore/silex/SwaggerServer/index.php index 1526f3cb8f3..450b8e74967 100644 --- a/samples/server/petstore/silex/SwaggerServer/index.php +++ b/samples/server/petstore/silex/SwaggerServer/index.php @@ -142,6 +142,22 @@ }); + +$app->GET('/pet/{petId}?testing_byte_array=true', function(Application $app, Request $request, $pet_id) { + + + return new Response('How about implementing getPetByIdWithByteArray as a GET method ?'); + }); + + + +$app->POST('/pet?testing_byte_array=true', function(Application $app, Request $request) { + + + return new Response('How about implementing addPetUsingByteArray as a POST method ?'); + }); + + From 2b09e8f3e5c2d9a82fae03831fb70c2bd50ea6c4 Mon Sep 17 00:00:00 2001 From: wing328 Date: Tue, 19 Jan 2016 23:39:07 +0800 Subject: [PATCH 3/3] make slim sh executable --- bin/slim-petstore-server.sh | 0 .../petstore/slim/SwaggerServer/README.md | 2 +- .../petstore/slim/SwaggerServer/index.php | 194 ++++++++++-------- 3 files changed, 114 insertions(+), 82 deletions(-) mode change 100644 => 100755 bin/slim-petstore-server.sh diff --git a/bin/slim-petstore-server.sh b/bin/slim-petstore-server.sh old mode 100644 new mode 100755 diff --git a/samples/server/petstore/slim/SwaggerServer/README.md b/samples/server/petstore/slim/SwaggerServer/README.md index 3b19f46bd38..03910060439 100644 --- a/samples/server/petstore/slim/SwaggerServer/README.md +++ b/samples/server/petstore/slim/SwaggerServer/README.md @@ -2,7 +2,7 @@ ## Overview This server was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the -[swagger-spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub. This +[OpenAPI-Spec](https://github.com/swagger-api/swagger-core/wiki) from a remote server, you can easily generate a server stub. This is an example of building a PHP server. This example uses the [Slim Framework](http://www.slimframework.com/). To see how to make this your own, please take a look at the template here: diff --git a/samples/server/petstore/slim/SwaggerServer/index.php b/samples/server/petstore/slim/SwaggerServer/index.php index 1db11f806fb..2ee51c0d71f 100644 --- a/samples/server/petstore/slim/SwaggerServer/index.php +++ b/samples/server/petstore/slim/SwaggerServer/index.php @@ -13,7 +13,7 @@ * POST createUser * Summary: Create user * Notes: This can only be done by the logged in user. - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->POST('/user', function($request, $response, $args) { @@ -29,7 +29,7 @@ * POST createUsersWithArrayInput * Summary: Creates list of users with given input array * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->POST('/user/createWithArray', function($request, $response, $args) { @@ -45,7 +45,7 @@ * POST createUsersWithListInput * Summary: Creates list of users with given input array * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->POST('/user/createWithList', function($request, $response, $args) { @@ -61,7 +61,7 @@ * GET loginUser * Summary: Logs user into the system * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->GET('/user/login', function($request, $response, $args) { @@ -78,7 +78,7 @@ * GET logoutUser * Summary: Logs out current logged in user session * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->GET('/user/logout', function($request, $response, $args) { @@ -94,7 +94,7 @@ * GET getUserByName * Summary: Get user by user name * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->GET('/user/{username}', function($request, $response, $args) { @@ -110,7 +110,7 @@ * PUT updateUser * Summary: Updated user * Notes: This can only be done by the logged in user. - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->PUT('/user/{username}', function($request, $response, $args) { @@ -126,7 +126,7 @@ * DELETE deleteUser * Summary: Delete user * Notes: This can only be done by the logged in user. - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->DELETE('/user/{username}', function($request, $response, $args) { @@ -138,75 +138,11 @@ }); -/** - * GET getInventory - * Summary: Returns pet inventories by status - * Notes: Returns a map of status codes to quantities - * Output-Formats: [application/json] - */ -$app->GET('/store/inventory', function($request, $response, $args) { - - - - - $response->write('How about implementing getInventory as a GET method ?'); - return $response; - }); - - -/** - * POST placeOrder - * Summary: Place an order for a pet - * Notes: - * Output-Formats: [application/xml, application/json] - */ -$app->POST('/store/order', function($request, $response, $args) { - - - - $body = $request->getParsedBody(); - $response->write('How about implementing placeOrder as a POST method ?'); - return $response; - }); - - -/** - * GET getOrderById - * Summary: Find purchase order by ID - * Notes: For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - * Output-Formats: [application/xml, application/json] - */ -$app->GET('/store/order/{orderId}', function($request, $response, $args) { - - - - - $response->write('How about implementing getOrderById as a GET method ?'); - return $response; - }); - - -/** - * DELETE deleteOrder - * Summary: Delete purchase order by ID - * Notes: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - * Output-Formats: [application/xml, application/json] - */ -$app->DELETE('/store/order/{orderId}', function($request, $response, $args) { - - - - - $response->write('How about implementing deleteOrder as a DELETE method ?'); - return $response; - }); - - /** * PUT updatePet * Summary: Update an existing pet * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->PUT('/pet', function($request, $response, $args) { @@ -222,7 +158,7 @@ * POST addPet * Summary: Add a new pet to the store * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->POST('/pet', function($request, $response, $args) { @@ -238,7 +174,7 @@ * GET findPetsByStatus * Summary: Finds Pets by status * Notes: Multiple status values can be provided with comma seperated strings - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->GET('/pet/findByStatus', function($request, $response, $args) { @@ -255,7 +191,7 @@ * GET findPetsByTags * Summary: Finds Pets by tags * Notes: Muliple tags can be provided with comma seperated strings. Use tag1, tag2, tag3 for testing. - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->GET('/pet/findByTags', function($request, $response, $args) { @@ -271,8 +207,8 @@ /** * GET getPetById * Summary: Find pet by ID - * Notes: Returns a single pet - * Output-Formats: [application/xml, application/json] + * Notes: Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions + * Output-Formats: [application/json, application/xml] */ $app->GET('/pet/{petId}', function($request, $response, $args) { @@ -288,7 +224,7 @@ * POST updatePetWithForm * Summary: Updates a pet in the store with form data * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->POST('/pet/{petId}', function($request, $response, $args) { @@ -304,7 +240,7 @@ * DELETE deletePet * Summary: Deletes a pet * Notes: - * Output-Formats: [application/xml, application/json] + * Output-Formats: [application/json, application/xml] */ $app->DELETE('/pet/{petId}', function($request, $response, $args) { $headers = $request->getHeaders(); @@ -320,7 +256,7 @@ * POST uploadFile * Summary: uploads an image * Notes: - * Output-Formats: [application/json] + * Output-Formats: [application/json, application/xml] */ $app->POST('/pet/{petId}/uploadImage', function($request, $response, $args) { @@ -332,5 +268,101 @@ }); +/** + * GET getPetByIdWithByteArray + * Summary: Fake endpoint to test byte array return by 'Find pet by ID' + * Notes: Returns a pet when ID < 10. ID > 10 or nonintegers will simulate API error conditions + * Output-Formats: [application/json, application/xml] + */ +$app->GET('/pet/{petId}?testing_byte_array=true', function($request, $response, $args) { + + + + + $response->write('How about implementing getPetByIdWithByteArray as a GET method ?'); + return $response; + }); + + +/** + * POST addPetUsingByteArray + * Summary: Fake endpoint to test byte array in body parameter for adding a new pet to the store + * Notes: + * Output-Formats: [application/json, application/xml] + */ +$app->POST('/pet?testing_byte_array=true', function($request, $response, $args) { + + + + $body = $request->getParsedBody(); + $response->write('How about implementing addPetUsingByteArray as a POST method ?'); + return $response; + }); + + +/** + * GET getInventory + * Summary: Returns pet inventories by status + * Notes: Returns a map of status codes to quantities + * Output-Formats: [application/json, application/xml] + */ +$app->GET('/store/inventory', function($request, $response, $args) { + + + + + $response->write('How about implementing getInventory as a GET method ?'); + return $response; + }); + + +/** + * POST placeOrder + * Summary: Place an order for a pet + * Notes: + * Output-Formats: [application/json, application/xml] + */ +$app->POST('/store/order', function($request, $response, $args) { + + + + $body = $request->getParsedBody(); + $response->write('How about implementing placeOrder as a POST method ?'); + return $response; + }); + + +/** + * GET getOrderById + * Summary: Find purchase order by ID + * Notes: For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * Output-Formats: [application/json, application/xml] + */ +$app->GET('/store/order/{orderId}', function($request, $response, $args) { + + + + + $response->write('How about implementing getOrderById as a GET method ?'); + return $response; + }); + + +/** + * DELETE deleteOrder + * Summary: Delete purchase order by ID + * Notes: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * Output-Formats: [application/json, application/xml] + */ +$app->DELETE('/store/order/{orderId}', function($request, $response, $args) { + + + + + $response->write('How about implementing deleteOrder as a DELETE method ?'); + return $response; + }); + + $app->run();