Direct Field Access とメソッドレベルのバリデーション
(備忘録)
Spring Boot 1.3 の @Restcontroller で、GET 時のバリデーション
DataBinder で、initDirectFieldAccess() を設定
ハンドラー
@RequestMapping(method = RequestMethod.GET) public Response search( @ModelAttribute @Validated Criteria criteria) { List<Item> items= planService.search(); return new Response(items); }
検索条件のバリデーション
public class Criteria { @AssertTrue private boolean isValid() { return false; } }
メソッドの型が、 プリミティブ boolean だと動作するが、ラッパークラスの Boolean だと動作しない。
バグ?