我有实体:
public class User{ @NotNull private Integer age; }
在静止控制器中:
@RestController public UserController { ..... }
我有BindingResult,但字段年龄Spring无法验证。您能告诉我原因吗?感谢您的回答。
xzabzqsa1#
如果您发布的内容类似于JSON数据,表示User类,您可以使用注解@Valid和@RequestBody来触发注解的验证,例如age属性中的@NotNull。然后使用BindingResult检查实体/数据是否有错误,并进行相应的处理。
User
@Valid
age
@NotNull
BindingResult
@RestController public UserController { @RequestMapping(method = RequestMethod.POST) public ResponseEntity<?> create(@Valid @RequestBody User user, BindingResult bindingResult) { if(bindingResult.hasErrors()) { // handle errors } else { // entity/date is valid } } }
我会确保您的User类也有@Entity注解。
@Entity
@Entity public class User { @NotNull @Min(18) private Integer age; public Integer getAge() { return age; } public setAge(Integer age) { this.age = age; } }
您可能希望设置输出/日志SQL的属性,以便可以看到向User表添加了适当的约束。希望这能帮上忙!
e5nqia272#
如果需要,可以指定默认消息@NotNull(“消息”:“年龄:需要正数值”)@最小值(值=18,消息=“年龄:正数,要求最小值为18”)请使用dto的
2条答案
按热度按时间xzabzqsa1#
如果您发布的内容类似于JSON数据,表示
User
类,您可以使用注解@Valid
和@RequestBody来触发注解的验证,例如age
属性中的@NotNull
。然后使用BindingResult
检查实体/数据是否有错误,并进行相应的处理。我会确保您的
User
类也有@Entity
注解。您可能希望设置输出/日志SQL的属性,以便可以看到向User表添加了适当的约束。
希望这能帮上忙!
e5nqia272#
如果需要,可以指定默认消息
@NotNull(“消息”:“年龄:需要正数值”)
@最小值(值=18,消息=“年龄:正数,要求最小值为18”)
请使用dto的