From 5aced550750ab9b7c8f4ca2700fb93cd9e5a0f03 Mon Sep 17 00:00:00 2001 From: Ximo Guanter Date: Mon, 17 Jul 2017 19:33:52 +0200 Subject: [PATCH] Fix Java Play server generator when path variables aren't camelCase (#6086) --- .../codegen/languages/JavaPlayFrameworkCodegen.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaPlayFrameworkCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaPlayFrameworkCodegen.java index 3577bd43fd19..b096af03982e 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaPlayFrameworkCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaPlayFrameworkCodegen.java @@ -10,6 +10,8 @@ import io.swagger.util.Json; import java.io.File; import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class JavaPlayFrameworkCodegen extends AbstractJavaCodegen implements BeanValidationFeatures { @@ -264,8 +266,12 @@ public class JavaPlayFrameworkCodegen extends AbstractJavaCodegen implements Bea } } - if (operation.path.contains("{")) { - operation.path = operation.path.replace("{", ":").replace("}", ""); + Pattern pathVariableMatcher = Pattern.compile("\\{(.+)}"); + Matcher match = pathVariableMatcher.matcher(operation.path); + while (match.find()) { + String completeMatch = match.group(); + String replacement = ":" + camelize(match.group(1), true); + operation.path = operation.path.replace(completeMatch, replacement); } if (operation.returnType != null) {