を検証する私はこのように言って、単純なクラスはFooを有する:スプリング3、JSR-303(豆の検証)と収集
public class Foo {
@NotNull
private String bar;
public String getBar(){ return bar; }
public void setBar(String _bar){ this.bar = _bar; }
}
ここで、Iは、配列(またはコレクションを取るコントローラREST方法を有します)FoosのすべてのFooがnull以外の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";
}
}
注:これは、いずれかの一覧<はFoo >では動作しません。しかし、ユニークなFooで動作します!
「コレクション」または「配列」内に「複数の」オブジェクトがある場合、Springの検証は機能しません。
カスタム注釈付きのHandlerMethodArgumentResolverを実装しようとしましたが、BindingResultで "インデックス付きのプロパティ名"を定義する方法がわかりません。
誰かがこの問題の回避策を知っていると、非常に感謝しています! :)
なります。 私のfoosパラメータがNULL可能である場合はどうなりますか? Fooインスタンスが配列内にあるとすぐにbarフィールドが常に設定されるようにしたいと思います。 –