【发布时间】:2012-02-08 08:25:39
【问题描述】:
我有一个简单的类 Foo,这样说:
public class Foo {
@NotNull
private String bar;
public String getBar(){ return bar; }
public void setBar(String _bar){ this.bar = _bar; }
}
现在,我有一个控制器 REST 方法,它采用 Foos 的数组(或集合),我想确保每个 Foo 都有一个非空的 bar 属性。 我认为使用 @Valid 注释会成功,但似乎不是:
@Controller
public class MyController {
@RequestMapping(value="/foos", method=RequestMethod.POST)
public @ResponseBody String createFoos(@Valid @RequestBody Foo[] foos){
// blah blah blah
return "yeah";
}
}
注意:它也不适用于 List
当我们有“多个”对象(在集合或数组中)时,Spring 验证似乎不起作用。
我什至尝试使用自定义注解实现 HandlerMethodArgumentResolver,但我不知道如何在 BindingResult 中定义“索引属性名称”。
如果有人知道此问题的解决方法,将不胜感激! :)
【问题讨论】:
标签: java spring-mvc bean-validation