これを行う唯一の方法は、リストをラップすることです。これは、JSON 入力を変更する必要があることも意味します。
@RequestMapping(method = RequestMethod.POST, value = { "/doesntmatter" })
@ResponseBody
public List<...> myMethod(@Valid @RequestBody List<MyBean> request, BindingResult bindingResult) {
になります:
@RequestMapping(method = RequestMethod.POST, value = { "/doesntmatter" })
@ResponseBody
public List<...> myMethod(@Valid @RequestBody MyBeanList request, BindingResult bindingResult) {
また、次のものが必要です。
import javax.validation.Valid;
import java.util.List;
public class MyBeanList {
@Valid
List<MyBean> list;
//getters and setters....
}
これは、リストのカスタムバリデーションでも可能であるように見えますが、まだそこまで行っていません。
@Valid アノテーションは、標準の JSR-303 Bean Validation API の一部であり、Spring 固有の構成ではありません。Spring MVC は、適切な Validator が構成されている限り、バインド後に @Valid オブジェクトを検証します。
参照 : http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html