Spring MVC のデータバインディングについて質問があります。
@RequestBody の形式で JSON リクエストを受け入れるコントローラーがあります。私はすべての JSR 303 検証を実施しており、魅力的に機能します。
JSON リクエスト
public class TestJSONRequest { @Size(min=10,message="{invalid.demo.size}") String demo; int code; }
コントローラ
@Controller @RequestMapping("/test") public class TestController { public void testEntry(@RequestBody TestJSONRequest jsonRequest,ModelMap map) Set<ConstraintViolation<TestJSONRequest>> violationList = validator.val(jsonRequest); .... .... TestJSONResponse response = // Do complex Logic. modelMap.addattribute("TestJSONResponse",response); } }
ただし、受信 JSON データが Request オブジェクトにバインドされると、JSR 303 検証が開始されます。
入力 JSON 要求のコードフィールドを送信ab
すると、バインド自体が失敗します。
どうすればそれを処理できますか?
これらのデータ バインディング エラーをキャッチし、コントローラーである種の一般化されたエラー処理を実行したいと考えています。
これについて私を助けてもらえますか?
PS - Spring 3.0.3 を使用しています