From ac9e5954767ffa0b4fff68f39d9602e7c8331424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20B=C3=A4rwinkel?= Date: Wed, 6 Jul 2022 19:14:32 +0200 Subject: [PATCH] Use the first status code in 2XX range, fallback to 200 (#12637) This is in line with the OpenAPI specification: The Responses Object MUST contain at least one response code, and it SHOULD be the response for a successful operation call. and excludes the 2XX range response itself. --- .../codegen/languages/HaskellServantCodegen.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java index b4e91b2a5a0..5bc339d774f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java @@ -576,7 +576,16 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf if (returnType.indexOf(" ") >= 0) { returnType = "(" + returnType + ")"; } - path.add("Verb '" + op.httpMethod.toUpperCase(Locale.ROOT) + " 200 '[JSON] " + returnType); + + String code = "200"; + for (CodegenResponse r : op.responses) { + if (r.code.matches("2[0-9][0-9]")) { + code = r.code; + break; + } + } + + path.add("Verb '" + op.httpMethod.toUpperCase(Locale.ROOT) + " " + code + " '[JSON] " + returnType); type.add("m " + returnType); op.vendorExtensions.put("x-route-type", joinStrings(" :> ", path));