【发布时间】:2012-07-28 15:45:00
【问题描述】:
我有一个关于 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 请求的 code 字段中发送 ab,绑定本身就会失败。
我该如何处理?
我想捕捉那些数据绑定错误并在我的控制器中进行某种通用错误处理。
你能帮我解决这个问题吗?
P.S - 我使用的是 Spring 3.0.3
【问题讨论】:
标签: java spring jakarta-ee spring-mvc spring-webflow