以下是我的spring MVC REST服务中的POST端点。我想使用spring验证框架工作来确保我收到的列表不为空。我该怎么做?我是否必须在listOfLongs
左右提供包装bean?
@RequestMapping(value = "/some/path", method = RequestMethod.POST)
@ResponseBody
public Foo bar(@Valid @NotEmpty @RequestBody List<Long> listOfLongs) {
/* if (listOfLongs.size() == 0) {
throw new InvalidRequestException();
}
*/
// do some useful work
}
请求机构应该是什么?
1) [123,456,789]
2) { listOfLongs : [123,456,789]}
答案 0 :(得分:4)
提供包装bean是一种很好的做法。
class LongList {
@NotEmpty
private List<Long> listOfLongs;
// Setters and Getters ...
}
然后,请求正文应为{ listOfLongs : [123,456,789]}
@RequestMapping(value = "/some/path", method = RequestMethod.POST)
@ResponseBody
public Foo bar(@Valid @RequestBody LongList listOfLongs) {
// do some useful work
}