java Micronaut嵌套Json输入验证
如何验证Json主体
{
"name": "good student",
"marks": {
"math": "122",
"english": "12"
}
}
这不起作用,它接受JSON正文中有或没有标记,即使@NotNull等被添加到学生DTO中的标记中
@Introspected
public @Data class Student {
@NotBlank
private String name;
@Valid
@JsonProperty("marks")
private Marks marks;
@Introspected
static @Data class Marks{
@NotBlank
private String math;
@NotBlank
private String english;
}
}
用@Validated注释的控制器 用@Valid@Body注释的方法参数
# 1 楼答案
这在Micronaut 2.0.3版中适用:
字段
marks
应通过以下方式进行注释:@NotNull
-告诉验证器它必须存在@Valid
-告诉验证器它必须验证嵌套字段示例控制器如下所示:
通过卷曲测试:
有了这样的回应: