From c3fe225b38a1f0818e79471ba2e4bd3ee4fb4b55 Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Thu, 11 Jun 2020 18:29:33 +0800 Subject: [PATCH 1/8] fix isDefault in response --- .../java/org/openapitools/codegen/DefaultCodegen.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 15228ef7dda..8a0256d5c45 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -3613,7 +3613,7 @@ public class DefaultCodegen implements CodegenConfig { op.uniqueItems = true; imports.add(typeMapping.get(r.containerType)); } - r.isDefault = response == methodResponse; + //r.isDefault = response == methodResponse; op.responses.add(r); if (Boolean.TRUE.equals(r.isBinary) && Boolean.TRUE.equals(r.isDefault)) { op.isResponseBinary = Boolean.TRUE; @@ -3845,11 +3845,14 @@ public class DefaultCodegen implements CodegenConfig { } } + r.code = responseCode; if ("default".equals(responseCode) || "defaultResponse".equals(responseCode)) { r.code = "0"; - } else { - r.code = responseCode; + } switch (r.code.charAt(0)) { + case '0': + r.isDefault = true; + break; case '1': r.is1xx = true; break; @@ -3868,7 +3871,7 @@ public class DefaultCodegen implements CodegenConfig { default: throw new RuntimeException("Invalid response code " + responseCode); } - } + Schema responseSchema; if (this.openAPI != null && this.openAPI.getComponents() != null) { responseSchema = ModelUtils.unaliasSchema(this.openAPI, ModelUtils.getSchemaFromResponse(response), -- GitLab From 9107b709cf72865150aae79d52972bff427a187d Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Thu, 11 Jun 2020 18:53:54 +0800 Subject: [PATCH 2/8] fix response --- .../org/openapitools/codegen/DefaultCodegen.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 8a0256d5c45..62ee5a9856b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -3615,10 +3615,10 @@ public class DefaultCodegen implements CodegenConfig { } //r.isDefault = response == methodResponse; op.responses.add(r); - if (Boolean.TRUE.equals(r.isBinary) && Boolean.TRUE.equals(r.isDefault)) { + if (Boolean.TRUE.equals(r.isBinary) && Boolean.TRUE.equals(r.is2xx) && Boolean.FALSE.equals(op.isResponseBinary)) { op.isResponseBinary = Boolean.TRUE; } - if (Boolean.TRUE.equals(r.isFile) && Boolean.TRUE.equals(r.isDefault)) { + if (Boolean.TRUE.equals(r.isFile) && Boolean.TRUE.equals(r.is2xx) && Boolean.FALSE.equals(op.isResponseFile)) { op.isResponseFile = Boolean.TRUE; } } @@ -3845,14 +3845,12 @@ public class DefaultCodegen implements CodegenConfig { } } - r.code = responseCode; if ("default".equals(responseCode) || "defaultResponse".equals(responseCode)) { r.code = "0"; - } + r.isDefault = true; + } else { + r.code = responseCode; switch (r.code.charAt(0)) { - case '0': - r.isDefault = true; - break; case '1': r.is1xx = true; break; @@ -3871,7 +3869,7 @@ public class DefaultCodegen implements CodegenConfig { default: throw new RuntimeException("Invalid response code " + responseCode); } - + } Schema responseSchema; if (this.openAPI != null && this.openAPI.getComponents() != null) { responseSchema = ModelUtils.unaliasSchema(this.openAPI, ModelUtils.getSchemaFromResponse(response), -- GitLab From 285bed292a42c57bdda4ac63a19c3390839f8995 Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Thu, 11 Jun 2020 20:46:10 +0800 Subject: [PATCH 3/8] update samples --- .../org/openapitools/client/api/PetApi.scala | 14 +++++------ .../openapitools/client/api/StoreApi.scala | 6 ++--- .../org/openapitools/client/api/UserApi.scala | 4 ++-- .../client/elm/src/Api/Request/Default.elm | 24 +++++++++---------- .../client/elm/src/Api/Request/Primitive.elm | 4 ++-- .../Controller/PetController.php | 8 +++---- .../Controller/StoreController.php | 6 ++--- .../Controller/UserController.php | 4 ++-- 8 files changed, 35 insertions(+), 35 deletions(-) diff --git a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala index c0ba5d4c6ae..d3f44100454 100644 --- a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala +++ b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala @@ -35,7 +35,7 @@ class PetApi(baseUrl: String) { def addPet(pet: Pet): ApiRequest[Pet] = ApiRequest[Pet](ApiMethods.POST, baseUrl, "/pet", "application/json") .withBody(pet) - .withSuccessResponse[Pet](200) + .withErrorResponse[Pet](200) .withErrorResponse[Unit](405) @@ -65,7 +65,7 @@ class PetApi(baseUrl: String) { def findPetsByStatus(status: Seq[String]): ApiRequest[Seq[Pet]] = ApiRequest[Seq[Pet]](ApiMethods.GET, baseUrl, "/pet/findByStatus", "application/json") .withQueryParam("status", ArrayValues(status, CSV)) - .withSuccessResponse[Seq[Pet]](200) + .withErrorResponse[Seq[Pet]](200) .withErrorResponse[Unit](400) @@ -81,7 +81,7 @@ class PetApi(baseUrl: String) { def findPetsByTags(tags: Seq[String]): ApiRequest[Seq[Pet]] = ApiRequest[Seq[Pet]](ApiMethods.GET, baseUrl, "/pet/findByTags", "application/json") .withQueryParam("tags", ArrayValues(tags, CSV)) - .withSuccessResponse[Seq[Pet]](200) + .withErrorResponse[Seq[Pet]](200) .withErrorResponse[Unit](400) @@ -102,7 +102,7 @@ class PetApi(baseUrl: String) { ApiRequest[Pet](ApiMethods.GET, baseUrl, "/pet/{petId}", "application/json") .withApiKey(apiKey, "api_key", HEADER) .withPathParam("petId", petId) - .withSuccessResponse[Pet](200) + .withErrorResponse[Pet](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) @@ -119,7 +119,7 @@ class PetApi(baseUrl: String) { def updatePet(pet: Pet): ApiRequest[Pet] = ApiRequest[Pet](ApiMethods.PUT, baseUrl, "/pet", "application/json") .withBody(pet) - .withSuccessResponse[Pet](200) + .withErrorResponse[Pet](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) .withErrorResponse[Unit](405) @@ -139,7 +139,7 @@ class PetApi(baseUrl: String) { .withFormParam("name", name) .withFormParam("status", status) .withPathParam("petId", petId) - .withSuccessResponse[Unit](200) + .withErrorResponse[Unit](200) .withErrorResponse[Unit](405) @@ -156,7 +156,7 @@ class PetApi(baseUrl: String) { .withFormParam("additionalMetadata", additionalMetadata) .withFormParam("file", file) .withPathParam("petId", petId) - .withSuccessResponse[ApiResponse](200) + .withErrorResponse[ApiResponse](200) diff --git a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala index ba8a34ef6ec..e1b685d6876 100644 --- a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala +++ b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala @@ -51,7 +51,7 @@ class StoreApi(baseUrl: String) { def getInventory()(implicit apiKey: ApiKeyValue): ApiRequest[Map[String, Int]] = ApiRequest[Map[String, Int]](ApiMethods.GET, baseUrl, "/store/inventory", "application/json") .withApiKey(apiKey, "api_key", HEADER) - .withSuccessResponse[Map[String, Int]](200) + .withErrorResponse[Map[String, Int]](200) /** @@ -67,7 +67,7 @@ class StoreApi(baseUrl: String) { def getOrderById(orderId: Long): ApiRequest[Order] = ApiRequest[Order](ApiMethods.GET, baseUrl, "/store/order/{orderId}", "application/json") .withPathParam("orderId", orderId) - .withSuccessResponse[Order](200) + .withErrorResponse[Order](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) @@ -82,7 +82,7 @@ class StoreApi(baseUrl: String) { def placeOrder(order: Order): ApiRequest[Order] = ApiRequest[Order](ApiMethods.POST, baseUrl, "/store/order", "application/json") .withBody(order) - .withSuccessResponse[Order](200) + .withErrorResponse[Order](200) .withErrorResponse[Unit](400) diff --git a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala index 54809067608..a7f00850e34 100644 --- a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala +++ b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala @@ -104,7 +104,7 @@ class UserApi(baseUrl: String) { def getUserByName(username: String): ApiRequest[User] = ApiRequest[User](ApiMethods.GET, baseUrl, "/user/{username}", "application/json") .withPathParam("username", username) - .withSuccessResponse[User](200) + .withErrorResponse[User](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) @@ -125,7 +125,7 @@ class UserApi(baseUrl: String) { ApiRequest[String](ApiMethods.GET, baseUrl, "/user/login", "application/json") .withQueryParam("username", username) .withQueryParam("password", password) - .withSuccessResponse[String](200) + .withErrorResponse[String](200) .withErrorResponse[Unit](400) object LoginUserHeaders { diff --git a/samples/openapi3/client/elm/src/Api/Request/Default.elm b/samples/openapi3/client/elm/src/Api/Request/Default.elm index 23e998284eb..548df127583 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Default.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Default.elm @@ -114,7 +114,7 @@ stringFromEnum model = -headerPost : String -> Maybe Int -> Maybe HeaderType -> Api.Request String +headerPost : String -> Maybe Int -> Maybe HeaderType -> Api.Request headerPost string_header integer_header headerType_header = Api.request "POST" @@ -123,11 +123,11 @@ headerPost string_header integer_header headerType_header = [] [ ( "string", Just <| identity string_header ), ( "integer", Maybe.map String.fromInt integer_header ), ( "headerType", Maybe.map stringFromHeaderType headerType_header ) ] Nothing - Json.Decode.string + -maybeGet : Api.Request Api.Data.Maybe_ +maybeGet : Api.Request maybeGet = Api.request "GET" @@ -136,11 +136,11 @@ maybeGet = [] [] Nothing - Api.Data.maybeDecoder + -pathStringIntegerEnumerationGet : String -> Int -> Enumeration -> Api.Request () +pathStringIntegerEnumerationGet : String -> Int -> Enumeration -> Api.Request pathStringIntegerEnumerationGet string_path integer_path enumeration_path = Api.request "GET" @@ -149,11 +149,11 @@ pathStringIntegerEnumerationGet string_path integer_path enumeration_path = [] [] Nothing - (Json.Decode.succeed ()) + -queryGet : Maybe String -> Maybe Int -> Maybe Enum -> Api.Request () +queryGet : Maybe String -> Maybe Int -> Maybe Enum -> Api.Request queryGet string_query int_query enum_query = Api.request "GET" @@ -162,11 +162,11 @@ queryGet string_query int_query enum_query = [ ( "string", Maybe.map identity string_query ), ( "int", Maybe.map String.fromInt int_query ), ( "enum", Maybe.map stringFromEnum enum_query ) ] [] Nothing - (Json.Decode.succeed ()) + -securedPost : String -> Api.Request () +securedPost : String -> Api.Request securedPost auth_token = Api.request "POST" @@ -175,12 +175,12 @@ securedPost auth_token = [] [] Nothing - (Json.Decode.succeed ()) + |> Api.withBearerToken auth_token -uuidGet : Maybe Uuid -> Api.Request Uuid +uuidGet : Maybe Uuid -> Api.Request uuidGet value_query = Api.request "GET" @@ -189,4 +189,4 @@ uuidGet value_query = [ ( "value", Maybe.map Uuid.toString value_query ) ] [] Nothing - Uuid.decoder + diff --git a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm index 05f36eea518..b270e7725ae 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm @@ -26,7 +26,7 @@ import Json.Encode -update : Api.Data.Primitive -> Api.Request Api.Data.Primitive +update : Api.Data.Primitive -> Api.Request update primitive_body = Api.request "POST" @@ -35,4 +35,4 @@ update primitive_body = [] [] (Just (Api.Data.encodePrimitive primitive_body)) - Api.Data.primitiveDecoder + diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php index 3f574ee2e49..ba7ecc50c5c 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/PetController.php @@ -275,7 +275,7 @@ class PetController extends Controller $result = $handler->findPetsByStatus($status, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { @@ -363,7 +363,7 @@ class PetController extends Controller $result = $handler->findPetsByTags($tags, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { @@ -448,7 +448,7 @@ class PetController extends Controller $result = $handler->getPetById($petId, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { @@ -727,7 +727,7 @@ class PetController extends Controller $result = $handler->uploadFile($petId, $additionalMetadata, $file, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php index 288d35c8a70..d6e9e33bb36 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/StoreController.php @@ -162,7 +162,7 @@ class StoreController extends Controller $result = $handler->getInventory($responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { @@ -241,7 +241,7 @@ class StoreController extends Controller $result = $handler->getOrderById($orderId, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { @@ -334,7 +334,7 @@ class StoreController extends Controller $result = $handler->placeOrder($body, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php index 83b8d08027a..3328426b049 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Controller/UserController.php @@ -406,7 +406,7 @@ class UserController extends Controller $result = $handler->getUserByName($username, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { @@ -499,7 +499,7 @@ class UserController extends Controller $result = $handler->loginUser($username, $password, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) { -- GitLab From 757f5abad6d27424f2eca4435678480015345550 Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Thu, 11 Jun 2020 23:56:04 +0800 Subject: [PATCH 4/8] fix scala akka template --- .../scala-akka-client/responseState.mustache | 2 +- .../scala/org/openapitools/client/api/PetApi.scala | 14 +++++++------- .../org/openapitools/client/api/StoreApi.scala | 6 +++--- .../org/openapitools/client/api/UserApi.scala | 12 ++++++------ 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/scala-akka-client/responseState.mustache b/modules/openapi-generator/src/main/resources/scala-akka-client/responseState.mustache index d1b3798e6de..5b428552346 100644 --- a/modules/openapi-generator/src/main/resources/scala-akka-client/responseState.mustache +++ b/modules/openapi-generator/src/main/resources/scala-akka-client/responseState.mustache @@ -1 +1 @@ -{{#isDefault}}Success{{/isDefault}}{{^isDefault}}Error{{/isDefault}} \ No newline at end of file +{{#is2xx}}Success{{/is2xx}}{{#is3xx}}Success{{/is3xx}}{{#is4xx}}Error{{/is4xx}}{{#is5xx}}Error{{/is5xx}}{{#isDefault}}Error{{/isDefault}} \ No newline at end of file diff --git a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala index d3f44100454..c0ba5d4c6ae 100644 --- a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala +++ b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/PetApi.scala @@ -35,7 +35,7 @@ class PetApi(baseUrl: String) { def addPet(pet: Pet): ApiRequest[Pet] = ApiRequest[Pet](ApiMethods.POST, baseUrl, "/pet", "application/json") .withBody(pet) - .withErrorResponse[Pet](200) + .withSuccessResponse[Pet](200) .withErrorResponse[Unit](405) @@ -65,7 +65,7 @@ class PetApi(baseUrl: String) { def findPetsByStatus(status: Seq[String]): ApiRequest[Seq[Pet]] = ApiRequest[Seq[Pet]](ApiMethods.GET, baseUrl, "/pet/findByStatus", "application/json") .withQueryParam("status", ArrayValues(status, CSV)) - .withErrorResponse[Seq[Pet]](200) + .withSuccessResponse[Seq[Pet]](200) .withErrorResponse[Unit](400) @@ -81,7 +81,7 @@ class PetApi(baseUrl: String) { def findPetsByTags(tags: Seq[String]): ApiRequest[Seq[Pet]] = ApiRequest[Seq[Pet]](ApiMethods.GET, baseUrl, "/pet/findByTags", "application/json") .withQueryParam("tags", ArrayValues(tags, CSV)) - .withErrorResponse[Seq[Pet]](200) + .withSuccessResponse[Seq[Pet]](200) .withErrorResponse[Unit](400) @@ -102,7 +102,7 @@ class PetApi(baseUrl: String) { ApiRequest[Pet](ApiMethods.GET, baseUrl, "/pet/{petId}", "application/json") .withApiKey(apiKey, "api_key", HEADER) .withPathParam("petId", petId) - .withErrorResponse[Pet](200) + .withSuccessResponse[Pet](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) @@ -119,7 +119,7 @@ class PetApi(baseUrl: String) { def updatePet(pet: Pet): ApiRequest[Pet] = ApiRequest[Pet](ApiMethods.PUT, baseUrl, "/pet", "application/json") .withBody(pet) - .withErrorResponse[Pet](200) + .withSuccessResponse[Pet](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) .withErrorResponse[Unit](405) @@ -139,7 +139,7 @@ class PetApi(baseUrl: String) { .withFormParam("name", name) .withFormParam("status", status) .withPathParam("petId", petId) - .withErrorResponse[Unit](200) + .withSuccessResponse[Unit](200) .withErrorResponse[Unit](405) @@ -156,7 +156,7 @@ class PetApi(baseUrl: String) { .withFormParam("additionalMetadata", additionalMetadata) .withFormParam("file", file) .withPathParam("petId", petId) - .withErrorResponse[ApiResponse](200) + .withSuccessResponse[ApiResponse](200) diff --git a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala index e1b685d6876..ba8a34ef6ec 100644 --- a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala +++ b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/StoreApi.scala @@ -51,7 +51,7 @@ class StoreApi(baseUrl: String) { def getInventory()(implicit apiKey: ApiKeyValue): ApiRequest[Map[String, Int]] = ApiRequest[Map[String, Int]](ApiMethods.GET, baseUrl, "/store/inventory", "application/json") .withApiKey(apiKey, "api_key", HEADER) - .withErrorResponse[Map[String, Int]](200) + .withSuccessResponse[Map[String, Int]](200) /** @@ -67,7 +67,7 @@ class StoreApi(baseUrl: String) { def getOrderById(orderId: Long): ApiRequest[Order] = ApiRequest[Order](ApiMethods.GET, baseUrl, "/store/order/{orderId}", "application/json") .withPathParam("orderId", orderId) - .withErrorResponse[Order](200) + .withSuccessResponse[Order](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) @@ -82,7 +82,7 @@ class StoreApi(baseUrl: String) { def placeOrder(order: Order): ApiRequest[Order] = ApiRequest[Order](ApiMethods.POST, baseUrl, "/store/order", "application/json") .withBody(order) - .withErrorResponse[Order](200) + .withSuccessResponse[Order](200) .withErrorResponse[Unit](400) diff --git a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala index a7f00850e34..83a7a46de65 100644 --- a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala +++ b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala @@ -38,7 +38,7 @@ class UserApi(baseUrl: String) { ApiRequest[Unit](ApiMethods.POST, baseUrl, "/user", "application/json") .withApiKey(apiKey, "AUTH_KEY", COOKIE) .withBody(user) - .withDefaultSuccessResponse[Unit] + .withDefaultErrorResponse[Unit] /** @@ -54,7 +54,7 @@ class UserApi(baseUrl: String) { ApiRequest[Unit](ApiMethods.POST, baseUrl, "/user/createWithArray", "application/json") .withApiKey(apiKey, "AUTH_KEY", COOKIE) .withBody(user) - .withDefaultSuccessResponse[Unit] + .withDefaultErrorResponse[Unit] /** @@ -70,7 +70,7 @@ class UserApi(baseUrl: String) { ApiRequest[Unit](ApiMethods.POST, baseUrl, "/user/createWithList", "application/json") .withApiKey(apiKey, "AUTH_KEY", COOKIE) .withBody(user) - .withDefaultSuccessResponse[Unit] + .withDefaultErrorResponse[Unit] /** @@ -104,7 +104,7 @@ class UserApi(baseUrl: String) { def getUserByName(username: String): ApiRequest[User] = ApiRequest[User](ApiMethods.GET, baseUrl, "/user/{username}", "application/json") .withPathParam("username", username) - .withErrorResponse[User](200) + .withSuccessResponse[User](200) .withErrorResponse[Unit](400) .withErrorResponse[Unit](404) @@ -125,7 +125,7 @@ class UserApi(baseUrl: String) { ApiRequest[String](ApiMethods.GET, baseUrl, "/user/login", "application/json") .withQueryParam("username", username) .withQueryParam("password", password) - .withErrorResponse[String](200) + .withSuccessResponse[String](200) .withErrorResponse[Unit](400) object LoginUserHeaders { @@ -144,7 +144,7 @@ class UserApi(baseUrl: String) { def logoutUser()(implicit apiKey: ApiKeyValue): ApiRequest[Unit] = ApiRequest[Unit](ApiMethods.GET, baseUrl, "/user/logout", "application/json") .withApiKey(apiKey, "AUTH_KEY", COOKIE) - .withDefaultSuccessResponse[Unit] + .withDefaultErrorResponse[Unit] /** -- GitLab From 0d0e05908ee69746959279e6613b797a1f72a83f Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Fri, 12 Jun 2020 00:01:51 +0800 Subject: [PATCH 5/8] fix elm template --- .../main/resources/elm/fieldDecoder.mustache | 4 +-- .../src/main/resources/elm/operation.mustache | 6 ++--- .../client/elm/src/Api/Request/Default.elm | 25 ++++++++++--------- .../client/elm/src/Api/Request/Primitive.elm | 5 ++-- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache b/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache index 7495eb50c77..e964653d447 100644 --- a/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache +++ b/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache @@ -12,6 +12,6 @@ {{#isBoolean}}Json.Decode.bool{{/isBoolean}} {{#isUuid}}Uuid.decoder{{/isUuid}} {{^isDateTime}}{{^isDate}}{{^isByteArray}}{{^isBinary}}{{^isString}}{{^isNumeric}}{{^isBoolean}}{{^isUuid}} -{{#isDefault}}Api.Data.{{/isDefault}}{{#lambda.camelcase}}{{#isEnum}}{{classname}}{{enumName}}{{/isEnum}}{{^isEnum}}{{dataType}}{{/isEnum}}{{/lambda.camelcase}}Decoder +{{#is2xx}}Api.Data.{{/is2xx}}{{#is3xx}}Api.Data.{{/is3xx}}{{#lambda.camelcase}}{{#isEnum}}{{classname}}{{enumName}}{{/isEnum}}{{^isEnum}}{{dataType}}{{/isEnum}}{{/lambda.camelcase}}Decoder {{/isUuid}}{{/isBoolean}}{{/isNumeric}}{{/isString}}{{/isBinary}}{{/isByteArray}}{{/isDate}}{{/isDateTime}} -{{/lambda.removeWhitespace}} \ No newline at end of file +{{/lambda.removeWhitespace}} diff --git a/modules/openapi-generator/src/main/resources/elm/operation.mustache b/modules/openapi-generator/src/main/resources/elm/operation.mustache index ed872dddc56..ed26610244a 100644 --- a/modules/openapi-generator/src/main/resources/elm/operation.mustache +++ b/modules/openapi-generator/src/main/resources/elm/operation.mustache @@ -33,7 +33,7 @@ import Uuid exposing (Uuid){{/includeUuid}} {-| {{{notes}}} -} {{/notes}} -{{operationId}} : {{#allParams}}{{^required}}Maybe {{/required}}{{#isListContainer}}List {{/isListContainer}}{{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{#isModel}}Api.Data.{{/isModel}}{{dataType}}{{/datatypeWithEnum}} -> {{/allParams}}{{#authMethods}}{{#isBasicBearer}}String -> {{/isBasicBearer}}{{/authMethods}}Api.Request {{^responses}}(){{/responses}}{{#responses}}{{#isDefault}}{{^dataType}}(){{/dataType}}{{#isMapContainer}}(Dict.Dict String {{/isMapContainer}}{{#isListContainer}}(List {{/isListContainer}}{{^primitiveType}}{{^isUuid}}Api.Data.{{/isUuid}}{{/primitiveType}}{{#items}}{{#isModel}}Api.Data.{{/isModel}}{{/items}}{{dataType}}{{#isListContainer}}){{/isListContainer}}{{#isMapContainer}}){{/isMapContainer}}{{/isDefault}}{{/responses}} +{{operationId}} : {{#allParams}}{{^required}}Maybe {{/required}}{{#isListContainer}}List {{/isListContainer}}{{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{#isModel}}Api.Data.{{/isModel}}{{dataType}}{{/datatypeWithEnum}} -> {{/allParams}}{{#authMethods}}{{#isBasicBearer}}String -> {{/isBasicBearer}}{{/authMethods}}Api.Request {{^responses}}(){{/responses}}{{#responses}}{{#is2xx}}{{^dataType}}(){{/dataType}}{{#isMapContainer}}(Dict.Dict String {{/isMapContainer}}{{#isListContainer}}(List {{/isListContainer}}{{^primitiveType}}{{^isUuid}}Api.Data.{{/isUuid}}{{/primitiveType}}{{#items}}{{#isModel}}Api.Data.{{/isModel}}{{/items}}{{dataType}}{{#isListContainer}}){{/isListContainer}}{{#isMapContainer}}){{/isMapContainer}}{{/is2xx}}{{/responses}} {{operationId}}{{#allParams}} {{>paramName}}{{/allParams}}{{#authMethods}}{{#isBasicBearer}} auth_token{{/isBasicBearer}}{{/authMethods}} = Api.request "{{httpMethod}}" @@ -42,6 +42,6 @@ import Uuid exposing (Uuid){{/includeUuid}} [{{#queryParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/queryParams}}] [{{#headerParams}} ( "{{baseName}}", {{#required}}Just <| {{/required}}{{^required}}Maybe.map {{/required}}{{>paramToString}} {{>paramName}} ){{#-last}} {{/-last}}{{^-last}},{{/-last}}{{/headerParams}}] {{#bodyParam}}({{#required}}Just ({{/required}}{{^required}}Maybe.map {{/required}}{{#isModel}}Api.Data.{{/isModel}}{{>recordFieldValueEncoder}} {{>paramName}}{{#required}}){{/required}}){{/bodyParam}}{{^bodyParam}}Nothing{{/bodyParam}} - {{^responses}}(Json.Decode.succeed ()){{/responses}}{{#responses}}{{#isDefault}}{{^dataType}}(Json.Decode.succeed ()){{/dataType}}{{#dataType}}{{>recordFieldValueDecoder}}{{/dataType}}{{/isDefault}}{{/responses}}{{#authMethods}}{{#isBasicBearer}} + {{^responses}}(Json.Decode.succeed ()){{/responses}}{{#responses}}{{#is2xx}}{{^dataType}}(Json.Decode.succeed ()){{/dataType}}{{#dataType}}{{>recordFieldValueDecoder}}{{/dataType}}{{/is2xx}}{{/responses}}{{#authMethods}}{{#isBasicBearer}} |> Api.withBearerToken auth_token{{/isBasicBearer}}{{/authMethods}} -{{/operation}}{{/operations}} \ No newline at end of file +{{/operation}}{{/operations}} diff --git a/samples/openapi3/client/elm/src/Api/Request/Default.elm b/samples/openapi3/client/elm/src/Api/Request/Default.elm index 548df127583..03e114d594f 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Default.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Default.elm @@ -114,7 +114,7 @@ stringFromEnum model = -headerPost : String -> Maybe Int -> Maybe HeaderType -> Api.Request +headerPost : String -> Maybe Int -> Maybe HeaderType -> Api.Request String headerPost string_header integer_header headerType_header = Api.request "POST" @@ -123,11 +123,11 @@ headerPost string_header integer_header headerType_header = [] [ ( "string", Just <| identity string_header ), ( "integer", Maybe.map String.fromInt integer_header ), ( "headerType", Maybe.map stringFromHeaderType headerType_header ) ] Nothing - + Json.Decode.string -maybeGet : Api.Request +maybeGet : Api.Request Api.Data.Maybe_ maybeGet = Api.request "GET" @@ -136,11 +136,11 @@ maybeGet = [] [] Nothing - + Api.Data.maybeDecoder -pathStringIntegerEnumerationGet : String -> Int -> Enumeration -> Api.Request +pathStringIntegerEnumerationGet : String -> Int -> Enumeration -> Api.Request () pathStringIntegerEnumerationGet string_path integer_path enumeration_path = Api.request "GET" @@ -149,11 +149,11 @@ pathStringIntegerEnumerationGet string_path integer_path enumeration_path = [] [] Nothing - + (Json.Decode.succeed ()) -queryGet : Maybe String -> Maybe Int -> Maybe Enum -> Api.Request +queryGet : Maybe String -> Maybe Int -> Maybe Enum -> Api.Request () queryGet string_query int_query enum_query = Api.request "GET" @@ -162,11 +162,11 @@ queryGet string_query int_query enum_query = [ ( "string", Maybe.map identity string_query ), ( "int", Maybe.map String.fromInt int_query ), ( "enum", Maybe.map stringFromEnum enum_query ) ] [] Nothing - + (Json.Decode.succeed ()) -securedPost : String -> Api.Request +securedPost : String -> Api.Request () securedPost auth_token = Api.request "POST" @@ -175,12 +175,12 @@ securedPost auth_token = [] [] Nothing - + (Json.Decode.succeed ()) |> Api.withBearerToken auth_token -uuidGet : Maybe Uuid -> Api.Request +uuidGet : Maybe Uuid -> Api.Request Uuid uuidGet value_query = Api.request "GET" @@ -189,4 +189,5 @@ uuidGet value_query = [ ( "value", Maybe.map Uuid.toString value_query ) ] [] Nothing - + Uuid.decoder + diff --git a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm index b270e7725ae..2295ae47d81 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm @@ -26,7 +26,7 @@ import Json.Encode -update : Api.Data.Primitive -> Api.Request +update : Api.Data.Primitive -> Api.Request Api.Data.Primitive update primitive_body = Api.request "POST" @@ -35,4 +35,5 @@ update primitive_body = [] [] (Just (Api.Data.encodePrimitive primitive_body)) - + Api.Data.primitiveDecoder + -- GitLab From a2d9c92eaeaa11509c5d5933d1f714dd1e139f2c Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Fri, 12 Jun 2020 00:05:41 +0800 Subject: [PATCH 6/8] remove commented code --- .../src/main/java/org/openapitools/codegen/DefaultCodegen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 62ee5a9856b..8bfc119e766 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -3613,7 +3613,7 @@ public class DefaultCodegen implements CodegenConfig { op.uniqueItems = true; imports.add(typeMapping.get(r.containerType)); } - //r.isDefault = response == methodResponse; + op.responses.add(r); if (Boolean.TRUE.equals(r.isBinary) && Boolean.TRUE.equals(r.is2xx) && Boolean.FALSE.equals(op.isResponseBinary)) { op.isResponseBinary = Boolean.TRUE; -- GitLab From 5f102c5da72d7516e35546a52fd81a3624f93263 Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Fri, 12 Jun 2020 00:06:38 +0800 Subject: [PATCH 7/8] remove eof --- .../src/main/resources/elm/fieldDecoder.mustache | 2 +- .../openapi-generator/src/main/resources/elm/operation.mustache | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache b/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache index e964653d447..964b3cf9a84 100644 --- a/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache +++ b/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache @@ -14,4 +14,4 @@ {{^isDateTime}}{{^isDate}}{{^isByteArray}}{{^isBinary}}{{^isString}}{{^isNumeric}}{{^isBoolean}}{{^isUuid}} {{#is2xx}}Api.Data.{{/is2xx}}{{#is3xx}}Api.Data.{{/is3xx}}{{#lambda.camelcase}}{{#isEnum}}{{classname}}{{enumName}}{{/isEnum}}{{^isEnum}}{{dataType}}{{/isEnum}}{{/lambda.camelcase}}Decoder {{/isUuid}}{{/isBoolean}}{{/isNumeric}}{{/isString}}{{/isBinary}}{{/isByteArray}}{{/isDate}}{{/isDateTime}} -{{/lambda.removeWhitespace}} +{{/lambda.removeWhitespace}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/elm/operation.mustache b/modules/openapi-generator/src/main/resources/elm/operation.mustache index ed26610244a..f83584bbd94 100644 --- a/modules/openapi-generator/src/main/resources/elm/operation.mustache +++ b/modules/openapi-generator/src/main/resources/elm/operation.mustache @@ -44,4 +44,4 @@ import Uuid exposing (Uuid){{/includeUuid}} {{#bodyParam}}({{#required}}Just ({{/required}}{{^required}}Maybe.map {{/required}}{{#isModel}}Api.Data.{{/isModel}}{{>recordFieldValueEncoder}} {{>paramName}}{{#required}}){{/required}}){{/bodyParam}}{{^bodyParam}}Nothing{{/bodyParam}} {{^responses}}(Json.Decode.succeed ()){{/responses}}{{#responses}}{{#is2xx}}{{^dataType}}(Json.Decode.succeed ()){{/dataType}}{{#dataType}}{{>recordFieldValueDecoder}}{{/dataType}}{{/is2xx}}{{/responses}}{{#authMethods}}{{#isBasicBearer}} |> Api.withBearerToken auth_token{{/isBasicBearer}}{{/authMethods}} -{{/operation}}{{/operations}} +{{/operation}}{{/operations}} \ No newline at end of file -- GitLab From c7fd3749f4baf8a834636855c9d819783794d024 Mon Sep 17 00:00:00 2001 From: William Cheng <wing328hk@gmail.com> Date: Fri, 12 Jun 2020 08:33:54 +0800 Subject: [PATCH 8/8] update elm samples --- samples/openapi3/client/elm/src/Api/Request/Default.elm | 1 - samples/openapi3/client/elm/src/Api/Request/Primitive.elm | 1 - 2 files changed, 2 deletions(-) diff --git a/samples/openapi3/client/elm/src/Api/Request/Default.elm b/samples/openapi3/client/elm/src/Api/Request/Default.elm index 03e114d594f..23e998284eb 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Default.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Default.elm @@ -190,4 +190,3 @@ uuidGet value_query = [] Nothing Uuid.decoder - diff --git a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm index 2295ae47d81..05f36eea518 100644 --- a/samples/openapi3/client/elm/src/Api/Request/Primitive.elm +++ b/samples/openapi3/client/elm/src/Api/Request/Primitive.elm @@ -36,4 +36,3 @@ update primitive_body = [] (Just (Api.Data.encodePrimitive primitive_body)) Api.Data.primitiveDecoder - -- GitLab