【发布时间】:2019-09-06 07:58:55
【问题描述】:
非空验证不适用于案例:
@RestController
public class BookController {
@GetMapping("/api/books/search")
public Page<Book> get(@RequestParam(name = "bookId") @Valid @NotNull Long bookId, Pageable pageable) {
.... // #1
}
}
如果我打电话给GET http://localhost:8080/api/books/search?bookId=
bookId 在第 1 行为空。这是奇怪的行为,因为如果我不提供 bookId 它会失败。
@NotNull 验证未触发。
【问题讨论】:
-
内部控制器
if(bookId == null){//Do whatever you want} -
@SudhirOjha 如果此类参数的值不能为空,那么最好依赖 Bean Validation。看看我的answer。
标签: rest spring-boot spring-mvc