diff --git a/gen/main/java/testapi/async/reactor/ValidationApi.java b/gen/main/java/testapi/async/reactor/ValidationApi.java index 0a55b740..51a6e8e5 100644 --- a/gen/main/java/testapi/async/reactor/ValidationApi.java +++ b/gen/main/java/testapi/async/reactor/ValidationApi.java @@ -111,8 +111,7 @@ reactor.core.publisher.Mono> validationLi reactor.core.publisher.Mono> validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) reactor.core.publisher.Mono> validationListRange( diff --git a/gen/main/java/testapi/async/reactor/ValidationApiClient.java b/gen/main/java/testapi/async/reactor/ValidationApiClient.java index 00a2f8b3..724211fd 100644 --- a/gen/main/java/testapi/async/reactor/ValidationApiClient.java +++ b/gen/main/java/testapi/async/reactor/ValidationApiClient.java @@ -97,7 +97,7 @@ reactor.core.publisher.Mono> validationLi reactor.core.publisher.Mono> validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) reactor.core.publisher.Mono> validationListRange( diff --git a/gen/main/java/testapi/async/simple/ValidationApi.java b/gen/main/java/testapi/async/simple/ValidationApi.java index 57644d5e..b34dea40 100644 --- a/gen/main/java/testapi/async/simple/ValidationApi.java +++ b/gen/main/java/testapi/async/simple/ValidationApi.java @@ -123,8 +123,7 @@ reactor.core.publisher.Mono validationListMin( reactor.core.publisher.Mono validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) @io.micronaut.http.annotation.Status(io.micronaut.http.HttpStatus.NO_CONTENT) diff --git a/gen/main/java/testapi/async/simple/ValidationApiClient.java b/gen/main/java/testapi/async/simple/ValidationApiClient.java index 47d7b460..e0627690 100644 --- a/gen/main/java/testapi/async/simple/ValidationApiClient.java +++ b/gen/main/java/testapi/async/simple/ValidationApiClient.java @@ -109,7 +109,7 @@ reactor.core.publisher.Mono validationListMin( reactor.core.publisher.Mono validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) @io.micronaut.http.annotation.Status(io.micronaut.http.HttpStatus.NO_CONTENT) diff --git a/gen/main/java/testapi/defaults/ValidationApi.java b/gen/main/java/testapi/defaults/ValidationApi.java index 7ec851dc..5cd31eb7 100644 --- a/gen/main/java/testapi/defaults/ValidationApi.java +++ b/gen/main/java/testapi/defaults/ValidationApi.java @@ -111,8 +111,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/defaults/ValidationApiClient.java b/gen/main/java/testapi/defaults/ValidationApiClient.java index f88fabc8..6e4a5b6e 100644 --- a/gen/main/java/testapi/defaults/ValidationApiClient.java +++ b/gen/main/java/testapi/defaults/ValidationApiClient.java @@ -97,7 +97,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/micronaut_java/ValidationController.java b/gen/main/java/testapi/micronaut_java/ValidationController.java index d16f096e..af06b9ae 100644 --- a/gen/main/java/testapi/micronaut_java/ValidationController.java +++ b/gen/main/java/testapi/micronaut_java/ValidationController.java @@ -217,7 +217,7 @@ public void validationListMin( @Consumes(value = {"application/json"}) @Secured({SecurityRule.IS_ANONYMOUS}) public void validationListModel( - @Body @NotNull List stringModel + @Body @NotNull List<@Valid StringModel> stringModel ) { // TODO implement validationListModel(); throw new HttpStatusException(HttpStatus.NOT_IMPLEMENTED, null); diff --git a/gen/main/java/testapi/modelsuffix/ValidationApi.java b/gen/main/java/testapi/modelsuffix/ValidationApi.java index 7be32a75..d2b3cdd9 100644 --- a/gen/main/java/testapi/modelsuffix/ValidationApi.java +++ b/gen/main/java/testapi/modelsuffix/ValidationApi.java @@ -111,8 +111,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModelVO); + java.util.List<@javax.validation.Valid StringModelVO> stringModelVO); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/modelsuffix/ValidationApiClient.java b/gen/main/java/testapi/modelsuffix/ValidationApiClient.java index 2f6f2c30..c638d47b 100644 --- a/gen/main/java/testapi/modelsuffix/ValidationApiClient.java +++ b/gen/main/java/testapi/modelsuffix/ValidationApiClient.java @@ -97,7 +97,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModelVO); + java.util.List<@javax.validation.Valid StringModelVO> stringModelVO); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/nogeneric/ValidationApi.java b/gen/main/java/testapi/nogeneric/ValidationApi.java index 94fe6ff0..eae8b061 100644 --- a/gen/main/java/testapi/nogeneric/ValidationApi.java +++ b/gen/main/java/testapi/nogeneric/ValidationApi.java @@ -123,8 +123,7 @@ void validationListMin( void validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) @io.micronaut.http.annotation.Status(io.micronaut.http.HttpStatus.NO_CONTENT) diff --git a/gen/main/java/testapi/nogeneric/ValidationApiClient.java b/gen/main/java/testapi/nogeneric/ValidationApiClient.java index 93c9fef3..99016906 100644 --- a/gen/main/java/testapi/nogeneric/ValidationApiClient.java +++ b/gen/main/java/testapi/nogeneric/ValidationApiClient.java @@ -109,7 +109,7 @@ void validationListMin( void validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) @io.micronaut.http.annotation.Status(io.micronaut.http.HttpStatus.NO_CONTENT) diff --git a/gen/main/java/testapi/nooptional/ValidationApi.java b/gen/main/java/testapi/nooptional/ValidationApi.java index 57984054..43726f1a 100644 --- a/gen/main/java/testapi/nooptional/ValidationApi.java +++ b/gen/main/java/testapi/nooptional/ValidationApi.java @@ -111,8 +111,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/nooptional/ValidationApiClient.java b/gen/main/java/testapi/nooptional/ValidationApiClient.java index 1887ed90..85e43b79 100644 --- a/gen/main/java/testapi/nooptional/ValidationApiClient.java +++ b/gen/main/java/testapi/nooptional/ValidationApiClient.java @@ -97,7 +97,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/packages/api/ValidationApi.java b/gen/main/java/testapi/packages/api/ValidationApi.java index 861f0366..c7a7ed6d 100644 --- a/gen/main/java/testapi/packages/api/ValidationApi.java +++ b/gen/main/java/testapi/packages/api/ValidationApi.java @@ -113,8 +113,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/packages/api/ValidationApiClient.java b/gen/main/java/testapi/packages/api/ValidationApiClient.java index f1cbfc46..7364dbc2 100644 --- a/gen/main/java/testapi/packages/api/ValidationApiClient.java +++ b/gen/main/java/testapi/packages/api/ValidationApiClient.java @@ -99,7 +99,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/types/ValidationApi.java b/gen/main/java/testapi/types/ValidationApi.java index b053aab7..bbc026f3 100644 --- a/gen/main/java/testapi/types/ValidationApi.java +++ b/gen/main/java/testapi/types/ValidationApi.java @@ -110,8 +110,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - @javax.validation.Valid - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testapi/types/ValidationApiClient.java b/gen/main/java/testapi/types/ValidationApiClient.java index 42bd31c4..b8e5e405 100644 --- a/gen/main/java/testapi/types/ValidationApiClient.java +++ b/gen/main/java/testapi/types/ValidationApiClient.java @@ -96,7 +96,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.NonNull @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post(PATH_VALIDATION_LIST_RANGE) io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/main/java/testmodel/jaxrs/AdditionalPropertiesModelValue.java b/gen/main/java/testmodel/jaxrs/AdditionalPropertiesModelValue.java index aa724e4a..c09e4537 100644 --- a/gen/main/java/testmodel/jaxrs/AdditionalPropertiesModelValue.java +++ b/gen/main/java/testmodel/jaxrs/AdditionalPropertiesModelValue.java @@ -44,7 +44,7 @@ public String toString() { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static TypeEnum fromString(String s) { + public static TypeEnum fromString(String s) { for (TypeEnum b : TypeEnum.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -53,8 +53,8 @@ public static TypeEnum fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @JsonCreator public static TypeEnum fromValue(String value) { for (TypeEnum b : TypeEnum.values()) { diff --git a/gen/main/java/testmodel/jaxrs/EnumerationInteger.java b/gen/main/java/testmodel/jaxrs/EnumerationInteger.java index cea14641..1dba51ed 100644 --- a/gen/main/java/testmodel/jaxrs/EnumerationInteger.java +++ b/gen/main/java/testmodel/jaxrs/EnumerationInteger.java @@ -32,7 +32,7 @@ public enum EnumerationInteger { * Convert a String into Integer, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static EnumerationInteger fromString(String s) { + public static EnumerationInteger fromString(String s) { for (EnumerationInteger b : EnumerationInteger.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -41,8 +41,8 @@ public static EnumerationInteger fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @Override @JsonValue public String toString() { diff --git a/gen/main/java/testmodel/jaxrs/EnumerationModel.java b/gen/main/java/testmodel/jaxrs/EnumerationModel.java index abd7bf61..73d37b78 100644 --- a/gen/main/java/testmodel/jaxrs/EnumerationModel.java +++ b/gen/main/java/testmodel/jaxrs/EnumerationModel.java @@ -45,7 +45,7 @@ public String toString() { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static EmbeddedEnum fromString(String s) { + public static EmbeddedEnum fromString(String s) { for (EmbeddedEnum b : EmbeddedEnum.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -54,8 +54,8 @@ public static EmbeddedEnum fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @JsonCreator public static EmbeddedEnum fromValue(String value) { for (EmbeddedEnum b : EmbeddedEnum.values()) { @@ -94,7 +94,7 @@ public String toString() { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static EmbeddedDefaultEnum fromString(String s) { + public static EmbeddedDefaultEnum fromString(String s) { for (EmbeddedDefaultEnum b : EmbeddedDefaultEnum.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -103,8 +103,8 @@ public static EmbeddedDefaultEnum fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @JsonCreator public static EmbeddedDefaultEnum fromValue(String value) { for (EmbeddedDefaultEnum b : EmbeddedDefaultEnum.values()) { diff --git a/gen/main/java/testmodel/jaxrs/EnumerationNumber.java b/gen/main/java/testmodel/jaxrs/EnumerationNumber.java index aa125973..22cb57a6 100644 --- a/gen/main/java/testmodel/jaxrs/EnumerationNumber.java +++ b/gen/main/java/testmodel/jaxrs/EnumerationNumber.java @@ -29,7 +29,7 @@ public enum EnumerationNumber { * Convert a String into BigDecimal, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static EnumerationNumber fromString(String s) { + public static EnumerationNumber fromString(String s) { for (EnumerationNumber b : EnumerationNumber.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -38,8 +38,8 @@ public static EnumerationNumber fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @Override @JsonValue public String toString() { diff --git a/gen/main/java/testmodel/jaxrs/EnumerationString.java b/gen/main/java/testmodel/jaxrs/EnumerationString.java index c6c2bb91..12c4c4a4 100644 --- a/gen/main/java/testmodel/jaxrs/EnumerationString.java +++ b/gen/main/java/testmodel/jaxrs/EnumerationString.java @@ -26,7 +26,7 @@ public enum EnumerationString { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static EnumerationString fromString(String s) { + public static EnumerationString fromString(String s) { for (EnumerationString b : EnumerationString.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -35,8 +35,8 @@ public static EnumerationString fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @Override @JsonValue public String toString() { diff --git a/gen/main/java/testmodel/jaxrs/EnumerationStringDefault.java b/gen/main/java/testmodel/jaxrs/EnumerationStringDefault.java index e25b4414..826151f1 100644 --- a/gen/main/java/testmodel/jaxrs/EnumerationStringDefault.java +++ b/gen/main/java/testmodel/jaxrs/EnumerationStringDefault.java @@ -26,7 +26,7 @@ public enum EnumerationStringDefault { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static EnumerationStringDefault fromString(String s) { + public static EnumerationStringDefault fromString(String s) { for (EnumerationStringDefault b : EnumerationStringDefault.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -35,8 +35,8 @@ public static EnumerationStringDefault fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @Override @JsonValue public String toString() { diff --git a/gen/main/java/testmodel/jaxrs/InheritanceWithEnumTypeEnum.java b/gen/main/java/testmodel/jaxrs/InheritanceWithEnumTypeEnum.java index 6424ee9d..a6709311 100644 --- a/gen/main/java/testmodel/jaxrs/InheritanceWithEnumTypeEnum.java +++ b/gen/main/java/testmodel/jaxrs/InheritanceWithEnumTypeEnum.java @@ -28,7 +28,7 @@ public enum InheritanceWithEnumTypeEnum { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static InheritanceWithEnumTypeEnum fromString(String s) { + public static InheritanceWithEnumTypeEnum fromString(String s) { for (InheritanceWithEnumTypeEnum b : InheritanceWithEnumTypeEnum.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -37,8 +37,8 @@ public static InheritanceWithEnumTypeEnum fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @Override @JsonValue public String toString() { diff --git a/gen/main/java/testmodel/jaxrs/PropertyTypeOne.java b/gen/main/java/testmodel/jaxrs/PropertyTypeOne.java index 0121838a..d24ac032 100644 --- a/gen/main/java/testmodel/jaxrs/PropertyTypeOne.java +++ b/gen/main/java/testmodel/jaxrs/PropertyTypeOne.java @@ -41,7 +41,7 @@ public String toString() { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static TypeEnum fromString(String s) { + public static TypeEnum fromString(String s) { for (TypeEnum b : TypeEnum.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -50,8 +50,8 @@ public static TypeEnum fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @JsonCreator public static TypeEnum fromValue(String value) { for (TypeEnum b : TypeEnum.values()) { diff --git a/gen/main/java/testmodel/jaxrs/PropertyTypeTwo.java b/gen/main/java/testmodel/jaxrs/PropertyTypeTwo.java index f23a4c55..1d57a842 100644 --- a/gen/main/java/testmodel/jaxrs/PropertyTypeTwo.java +++ b/gen/main/java/testmodel/jaxrs/PropertyTypeTwo.java @@ -41,7 +41,7 @@ public String toString() { * Convert a String into String, as specified in the * See JAX RS 2.0 Specification, section 3.2, p. 12 */ - public static TypeEnum fromString(String s) { + public static TypeEnum fromString(String s) { for (TypeEnum b : TypeEnum.values()) { // using Objects.toString() to be safe if value type non-object type // because types like 'int' etc. will be auto-boxed @@ -50,8 +50,8 @@ public static TypeEnum fromString(String s) { } } throw new IllegalArgumentException("Unexpected string value '" + s + "'"); - } - + } + @JsonCreator public static TypeEnum fromValue(String value) { for (TypeEnum b : TypeEnum.values()) { diff --git a/gen/test/java/testapi/async/reactor/ValidationApiTestClient.java b/gen/test/java/testapi/async/reactor/ValidationApiTestClient.java index 492ddb17..281dd1dc 100644 --- a/gen/test/java/testapi/async/reactor/ValidationApiTestClient.java +++ b/gen/test/java/testapi/async/reactor/ValidationApiTestClient.java @@ -76,7 +76,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/test/java/testapi/async/simple/ValidationApiTestClient.java b/gen/test/java/testapi/async/simple/ValidationApiTestClient.java index 0c9c3d31..0e839139 100644 --- a/gen/test/java/testapi/async/simple/ValidationApiTestClient.java +++ b/gen/test/java/testapi/async/simple/ValidationApiTestClient.java @@ -88,7 +88,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") @io.micronaut.http.annotation.Status(io.micronaut.http.HttpStatus.NO_CONTENT) diff --git a/gen/test/java/testapi/defaults/ValidationApiTestClient.java b/gen/test/java/testapi/defaults/ValidationApiTestClient.java index 3904d1ad..23bc9686 100644 --- a/gen/test/java/testapi/defaults/ValidationApiTestClient.java +++ b/gen/test/java/testapi/defaults/ValidationApiTestClient.java @@ -76,7 +76,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/test/java/testapi/modelsuffix/ValidationApiTestClient.java b/gen/test/java/testapi/modelsuffix/ValidationApiTestClient.java index c800b6d0..8398d8ec 100644 --- a/gen/test/java/testapi/modelsuffix/ValidationApiTestClient.java +++ b/gen/test/java/testapi/modelsuffix/ValidationApiTestClient.java @@ -76,7 +76,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModelVO); + java.util.List<@javax.validation.Valid StringModelVO> stringModelVO); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/test/java/testapi/nogeneric/ValidationApiTestClient.java b/gen/test/java/testapi/nogeneric/ValidationApiTestClient.java index f391bd51..ea91fc88 100644 --- a/gen/test/java/testapi/nogeneric/ValidationApiTestClient.java +++ b/gen/test/java/testapi/nogeneric/ValidationApiTestClient.java @@ -88,7 +88,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") @io.micronaut.http.annotation.Status(io.micronaut.http.HttpStatus.NO_CONTENT) diff --git a/gen/test/java/testapi/nooptional/ValidationApiTestClient.java b/gen/test/java/testapi/nooptional/ValidationApiTestClient.java index 184fd1f3..08b4c907 100644 --- a/gen/test/java/testapi/nooptional/ValidationApiTestClient.java +++ b/gen/test/java/testapi/nooptional/ValidationApiTestClient.java @@ -76,7 +76,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/test/java/testapi/packages/api/ValidationApiTestClient.java b/gen/test/java/testapi/packages/api/ValidationApiTestClient.java index c454e8f2..993c0126 100644 --- a/gen/test/java/testapi/packages/api/ValidationApiTestClient.java +++ b/gen/test/java/testapi/packages/api/ValidationApiTestClient.java @@ -78,7 +78,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") io.micronaut.http.HttpResponse validationListRange( diff --git a/gen/test/java/testapi/types/ValidationApiTestClient.java b/gen/test/java/testapi/types/ValidationApiTestClient.java index b1d22b67..250ad94c 100644 --- a/gen/test/java/testapi/types/ValidationApiTestClient.java +++ b/gen/test/java/testapi/types/ValidationApiTestClient.java @@ -75,7 +75,7 @@ io.micronaut.http.HttpResponse validationListMin( io.micronaut.http.HttpResponse validationListModel( @io.micronaut.core.annotation.Nullable @io.micronaut.http.annotation.Body - java.util.List stringModel); + java.util.List<@javax.validation.Valid StringModel> stringModel); @io.micronaut.http.annotation.Post("/validation/list/range?{&list*}") io.micronaut.http.HttpResponse validationListRange( diff --git a/pom.xml b/pom.xml index e2482a4c..008ada05 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ 3.10.3 3.11.1 5.10.1 - 7.1.0 + 7.2.0 0.2.6 diff --git a/src/main/java/org/openapitools/codegen/languages/MicronautCodegen.java b/src/main/java/org/openapitools/codegen/languages/MicronautCodegen.java index 2ca690bf..e1e1bd0c 100644 --- a/src/main/java/org/openapitools/codegen/languages/MicronautCodegen.java +++ b/src/main/java/org/openapitools/codegen/languages/MicronautCodegen.java @@ -49,11 +49,12 @@ public class MicronautCodegen extends AbstractJavaCodegen // '{' or '}' is not allowed according to https://datatracker.ietf.org/doc/html/rfc6570#section-3.2 // so the RegExp needs to work around and be very verbose as quantifiers cannot be used. - private static final String UUID_PATTERN = "[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]" - + "-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]" - + "-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]" - + "-[a-f0-9][a-f0-9][a-f0-9][a-f0-9]" - + "-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]"; + private static final String UUID_PATTERN = """ + [a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]\ + -[a-f0-9][a-f0-9][a-f0-9][a-f0-9]\ + -[a-f0-9][a-f0-9][a-f0-9][a-f0-9]\ + -[a-f0-9][a-f0-9][a-f0-9][a-f0-9]\ + -[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]"""; private static final Logger LOG = LoggerFactory.getLogger(MicronautCodegen.class); private boolean generateApiTests = true; @@ -499,6 +500,9 @@ public void postProcessParameter(CodegenParameter parameter) { if (dateTimeRelaxed && (parameter.isDate || parameter.isDateTime)) { addSupportingFile(sourceFolder, invokerPackage, "TimeTypeConverterRegistrar"); } + + parameter.dataType = parameter.dataType.replace("@Valid", "@javax.validation.Valid"); + parameter.datatypeWithEnum = parameter.datatypeWithEnum.replace("@Valid", "@javax.validation.Valid"); } @Override @@ -508,6 +512,9 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert if (openApiNullable && !property.required && property.isNullable) { property.getVendorExtensions().put("x-jackson-nullable", true); } + + property.dataType = property.dataType.replace("@Valid", "@javax.validation.Valid"); + property.datatypeWithEnum = property.datatypeWithEnum.replace("@Valid", "@javax.validation.Valid"); } @Override diff --git a/src/main/resources/Micronaut/apiParamValidation.mustache b/src/main/resources/Micronaut/apiParamValidation.mustache index 3cde16eb..2577783f 100644 --- a/src/main/resources/Micronaut/apiParamValidation.mustache +++ b/src/main/resources/Micronaut/apiParamValidation.mustache @@ -1,6 +1,5 @@ {{#useBeanValidation}}{{#isBodyParam}}{{#isModel}} @javax.validation.Valid -{{/isModel}}{{#isContainer}} @javax.validation.Valid -{{/isContainer}}{{/isBodyParam}}{{#pattern}} @javax.validation.constraints.Pattern(regexp = "{{{pattern}}}") +{{/isModel}}{{/isBodyParam}}{{#pattern}} @javax.validation.constraints.Pattern(regexp = "{{{pattern}}}") {{/pattern}}{{#required}}{{/required}}{{#minimum}}{{#isInteger}} @javax.validation.constraints.Min({{minimum}}) {{/isInteger}}{{#isLong}} @javax.validation.constraints.Min({{minimum}}) {{/isLong}}{{^isInteger}}{{^isLong}} @javax.validation.constraints.DecimalMin(value = "{{minimum}}", inclusive = {{#exclusiveMinimum}}false{{/exclusiveMinimum}}{{^exclusiveMinimum}}true{{/exclusiveMinimum}})