【发布时间】:2018-06-23 14:21:24
【问题描述】:
我正在尝试使用 spring 注释验证 rest api 的请求体。该项目是使用 Spring Boot 创建的。 我用@NotNull 和@Valid 用@RequestBody 注释了这个类。在尝试了我所有的方法之后,它没有验证。 谁能帮我解决这个问题?
@RestController
public class EmployeeController {
@Autowired
private EmployeeServiceImpl employeeServiceImpl;
@Autowired
private ValidateErrors validateErrors;
@RequestMapping(value = "/register" , method = RequestMethod.POST)
public ResponseEntity<Void> resisterEmployee( @Valid @RequestBody EmployeesVO employees , BindingResult errors) throws EmployeeValidationException {
try {
validateErrors.checkError(errors);
//return new ResponseEntity<Void>(message, HttpStatus.BAD_REQUEST);
}
catch(EmployeeValidationException validationException) {
throw new EmployeeValidationException("2001", "Invalid Input");
}
}
public class EmployeesVO {
@NotNull
@JsonProperty("team_members")
List<TeamMember> employeeList ;
//getters & setters
}
public class TeamMember extends Employees{
@NotNull
private Integer team_member_id;
//getters and setters
}
在调试时,我可以看到 hasErrors() 返回 false(没有错误)。 请注意,员工类也有 2 个字段,注释为 @NotNull
【问题讨论】:
-
向我们展示您的请求正文。
标签: spring rest validation spring-mvc spring-boot