我有一个简单类Foo,说像这样的:弹簧3,JSR-303(豆验证)和验证集合
public class Foo {
@NotNull
private String bar;
public String getBar(){ return bar; }
public void setBar(String _bar){ this.bar = _bar; }
}
现在,我有采取的阵列控制器REST方法(或收集)Foos的地方,我想确保每个Foo都有一个非空的酒吧属性。 我想到了用@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 <富>工作,要么。但是有了独特的Foo它就可以工作!
看起来像Spring验证在我们有“多个”对象(在集合或数组中)时不起作用。
我甚至试图用自定义注释实现HandlerMethodArgumentResolver,但我不知道如何在BindingResult中定义“索引属性名称”。
如果有人知道这个问题的解决方法,将不胜感激! :)
我这里的@NotNull注释不同意。 如果我的foos参数可以为空可以怎么办? 我想确保一旦Foo实例位于我的数组中,就会始终设置bar字段。 – 2012-01-27 17:55:18