diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index e0f94fea1928..62b8bda30c73 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -1734,6 +1734,8 @@ public String toEnumValue(String value, String datatype) { } else if ("BigDecimal".equals(datatype)) { // use BigDecimal String constructor return "new BigDecimal(\"" + value + "\")"; + } else if ("URI".equals(datatype)) { + return "URI.create(\"" + escapeText(value) + "\")"; } else { return "\"" + escapeText(value) + "\""; } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java index 56be46d46f6f..31c97e6c65fc 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java @@ -332,6 +332,7 @@ public void toEnumValue() { Assert.assertEquals(codegen.toEnumValue("42", "Double"), "42"); Assert.assertEquals(codegen.toEnumValue("1337", "Long"), "1337l"); Assert.assertEquals(codegen.toEnumValue("3.14", "Float"), "3.14f"); + Assert.assertEquals(codegen.toEnumValue("schema.json", "URI"), "URI.create(\"schema.json\")"); } @Test