【发布时间】:2018-12-11 08:08:36
【问题描述】:
我有一个简单的控制器方法:
@GetMapping("/search")
public List<Result> search(@RequestParam @Valid @NotNull @Size(min = 4) String query) {
return searchService.search(query);
}
当我省略“查询”参数时,我得到一个 400 错误请求,正如预期的那样。
使用这些查询参数测试方法不起作用。
除最后一个测试外,所有测试都应返回“400 Bad Request”。
"/search" --> actual 400 Bad Request, test passes
"/search?query=" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=a" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=ab" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=abc" --> actual 200 Ok, expected 400 because @Size(min=4)
"/search?query=abcd" --> actual 200 Ok, test passes
为什么@Size(min=4) 注释被忽略了?
【问题讨论】:
标签: spring rest validation spring-boot