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 15228ef7dda2..8bfc119e766d 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,12 +3613,12 @@ public CodegenOperation fromOperation(String path, 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.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; } } @@ -3847,6 +3847,7 @@ public CodegenResponse fromResponse(String responseCode, ApiResponse response) { if ("default".equals(responseCode) || "defaultResponse".equals(responseCode)) { r.code = "0"; + r.isDefault = true; } else { r.code = responseCode; switch (r.code.charAt(0)) { diff --git a/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache b/modules/openapi-generator/src/main/resources/elm/fieldDecoder.mustache index 7495eb50c779..964b3cf9a84a 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 diff --git a/modules/openapi-generator/src/main/resources/elm/operation.mustache b/modules/openapi-generator/src/main/resources/elm/operation.mustache index ed872dddc569..f83584bbd94a 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 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 d1b3798e6de1..5b4285523469 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/UserApi.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/api/UserApi.scala index 54809067608d..83a7a46de65e 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] /** @@ -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] /** 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 3f574ee2e49d..ba7ecc50c5c8 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 @@ public function findPetsByStatusAction(Request $request) $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 @@ public function findPetsByTagsAction(Request $request) $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 @@ public function getPetByIdAction(Request $request, $petId) $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 @@ public function uploadFileAction(Request $request, $petId) $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 288d35c8a704..d6e9e33bb369 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 @@ public function getInventoryAction(Request $request) $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 @@ public function getOrderByIdAction(Request $request, $orderId) $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 @@ public function placeOrderAction(Request $request) $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 83b8d08027a2..3328426b0490 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 @@ public function getUserByNameAction(Request $request, $username) $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 @@ public function loginUserAction(Request $request) $result = $handler->loginUser($username, $password, $responseCode, $responseHeaders); // Find default response message - $message = 'successful operation'; + $message = ''; // Find a more specific message, if available switch ($responseCode) {