Java如何Validated校验内部类的属性
PostMan请求url,MyValidateParam
的name,money
能校验到,MyValidateParam.Item
的code,price
无法校验到,如何写呢?
控制器
@PostMapping("/post")public String post(@Validated @RequestBody MyValidateParam obj) {
return obj.getClass().getSimpleName();
}
Bean
import javax.validation.constraints.Digits;import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
@Data
public class MyValidateParam {
@NotEmpty(message = "名称不能为空")
private String name;
@Digits(integer = 3, fraction = 2)
@Min(10)
private Double money;
private Item item;
@Data
public static class Item {
@NotEmpty(message = "名称不能为空")
private String code;
@Digits(integer = 4, fraction = 2)
private Double price;
}
}
回答:
补个注解
@Validprivate Item item;
回答:
javaBean校验是单独的模块,只不过springmvc帮助我们校验了,controller中的方法换成@Valid也是好用的。其实一个普通的方法也是可以使用@valid注解校验的。
以上是 Java如何Validated校验内部类的属性 的全部内容, 来源链接: utcz.com/p/944204.html