我使用Hibernate Validator
注释和我的Spring @Controller
的各个参数,如下所示:
@RequestMapping(value = URIConstants.SOME_URI, method = RequestMethod.GET)
public @ResponseBody ResponseEntity<String> tryValidation(
@Size(min = 1, max = 20)
@NotBlank @RequestParam(required = false) String something) {
return ResponseEntity.status(HttpStatus.OK).body(something);
}
根据我的理解,@NotBlank
和@NotEmpty
都使用@NotNull
,但如果我想在没有@NotBlank
的情况下使用@NotNull
该怎么办?基本上,我希望参数不是必需的,但是当它被定义时,它不应该是null或空。但是,当我尝试这样做时,@RequestParam(required = false)
并不重要,您最终必须定义参数。
我知道我可以编写一个自定义验证器,但有没有办法在Hibernate Validator
的现有功能中执行此操作?