From 54394fc9c2ec4552275f29af0db1944992dd5f5e Mon Sep 17 00:00:00 2001 From: cbornet Date: Wed, 16 May 2018 01:21:33 +0200 Subject: [PATCH] Fix openAPI generated spec of openapi-online --- modules/openapi-generator-online/Dockerfile | 4 ++-- .../org/openapitools/codegen/online/api/GenApi.java | 13 +++++++------ .../configuration/OpenAPIDocumentationConfig.java | 9 ++++++++- .../codegen/online/model/GeneratorInput.java | 1 - 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/modules/openapi-generator-online/Dockerfile b/modules/openapi-generator-online/Dockerfile index 14d448eda8f8..4740683ef843 100644 --- a/modules/openapi-generator-online/Dockerfile +++ b/modules/openapi-generator-online/Dockerfile @@ -1,8 +1,8 @@ FROM openjdk:8-jre-alpine - + WORKDIR /generator -COPY target/openapi-generator-online-3.0.0-SNAPSHOT.jar /generator/openapi-generator-online.jar +COPY target/*.jar /generator/openapi-generator-online.jar ENV GENERATOR_HOST=http://localhost diff --git a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/api/GenApi.java b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/api/GenApi.java index 8e39e7a3e163..a2c25535b027 100644 --- a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/api/GenApi.java +++ b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/api/GenApi.java @@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import java.util.List; @@ -51,9 +52,9 @@ default ResponseEntity> clientOptions() { } - @ApiOperation(value = "Downloads a pre-generated file", nickname = "downloadFile", notes = "A valid `fileId` is generated by the `/clients/{language}` or `/servers/{language}` POST operations. The fileId code can be used just once, after which a new `fileId` will need to be requested.", response = String.class, tags={ "clients","servers", }) + @ApiOperation(value = "Downloads a pre-generated file", nickname = "downloadFile", notes = "A valid `fileId` is generated by the `/clients/{language}` or `/servers/{language}` POST operations. The fileId code can be used just once, after which a new `fileId` will need to be requested.", response = MultipartFile.class, tags={ "clients","servers", }) @ApiResponses(value = { - @ApiResponse(code = 200, message = "successful operation", response = String.class) }) + @ApiResponse(code = 200, message = "successful operation", response = MultipartFile.class) }) @RequestMapping(value = "/gen/download/{fileId}", produces = { "application/octet-stream" }, method = RequestMethod.GET) @@ -82,9 +83,9 @@ default ResponseEntity generateServerForLanguage(@ApiParam(value = } - @ApiOperation(value = "Returns options for a client library", nickname = "getClientOptions", notes = "", response = CliOption.class, responseContainer = "Map", tags={ "clients", }) + @ApiOperation(value = "Returns options for a client library", nickname = "getClientOptions", notes = "", tags={ "clients", }) @ApiResponses(value = { - @ApiResponse(code = 200, message = "successful operation", response = CliOption.class, responseContainer = "Map") }) + @ApiResponse(code = 200, message = "successful operation") }) @RequestMapping(value = "/gen/clients/{language}", produces = { "application/json" }, method = RequestMethod.GET) @@ -93,9 +94,9 @@ default ResponseEntity> getClientOptions(@ApiParam(value } - @ApiOperation(value = "Returns options for a server framework", nickname = "getServerOptions", notes = "", response = CliOption.class, responseContainer = "Map", tags={ "servers", }) + @ApiOperation(value = "Returns options for a server framework", nickname = "getServerOptions", notes = "", tags={ "servers", }) @ApiResponses(value = { - @ApiResponse(code = 200, message = "successful operation", response = CliOption.class, responseContainer = "Map") }) + @ApiResponse(code = 200, message = "successful operation") }) @RequestMapping(value = "/gen/servers/{framework}", produces = { "application/json" }, method = RequestMethod.GET) diff --git a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java index fd4226ae3b57..6a0fdbe131ab 100644 --- a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java +++ b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java @@ -17,9 +17,10 @@ package org.openapitools.codegen.online.configuration; +import com.fasterxml.jackson.databind.JsonNode; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; - +import org.springframework.core.io.Resource; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; @@ -28,6 +29,8 @@ import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import java.io.InputStream; + @Configuration @EnableSwagger2 @@ -51,8 +54,12 @@ public Docket customImplementation(){ .select() .apis(RequestHandlerSelectors.basePackage("org.openapitools.codegen.online.api")) .build() + .forCodeGeneration(true) .directModelSubstitute(java.time.LocalDate.class, java.sql.Date.class) .directModelSubstitute(java.time.OffsetDateTime.class, java.util.Date.class) + .directModelSubstitute(JsonNode.class, java.lang.Object.class) + .ignoredParameterTypes(Resource.class) + .ignoredParameterTypes(InputStream.class) .apiInfo(apiInfo()); } diff --git a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/model/GeneratorInput.java b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/model/GeneratorInput.java index 3e7d075b4d42..3672506d213a 100644 --- a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/model/GeneratorInput.java +++ b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/model/GeneratorInput.java @@ -39,7 +39,6 @@ public void setAuthorizationValue(AuthorizationValue authorizationValue) { this.authorizationValue = authorizationValue; } - @ApiModelProperty(dataType = "Object") public JsonNode getSpec() { return spec; }