Java如何Validated校验内部类的属性

PostMan请求url,MyValidateParamname,money能校验到,
MyValidateParam.Itemcode,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;

}

}


回答:

补个注解

@Valid

private Item item;


回答:

javaBean校验是单独的模块,只不过springmvc帮助我们校验了,controller中的方法换成@Valid也是好用的。其实一个普通的方法也是可以使用@valid注解校验的。

以上是 Java如何Validated校验内部类的属性 的全部内容, 来源链接: utcz.com/p/944204.html

回到顶部