我正在研究弹簧web服务。我创建了一个异常解析器来处理任何异常,以便以适当的格式将异常发送到客户端。弹簧控制器中的类型不匹配@RequestParam
服务层正在捕获异常并正在发送自定义消息。
问题是,如果控制器中的请求参数是数字类型,并且用户发送字符串,则发送异常的拒绝消息。但我想发送一个自定义的错误。任何人都可以请建议我应该怎么做。
我正在研究弹簧web服务。我创建了一个异常解析器来处理任何异常,以便以适当的格式将异常发送到客户端。弹簧控制器中的类型不匹配@RequestParam
服务层正在捕获异常并正在发送自定义消息。
问题是,如果控制器中的请求参数是数字类型,并且用户发送字符串,则发送异常的拒绝消息。但我想发送一个自定义的错误。任何人都可以请建议我应该怎么做。
我认为你需要像这样
@RequestMapping(value = "/happy}", method = RequestMethod.POST)
public String happy(@RequestParam(value = "somevalue") int number) {
// implement your flow
return null;
}
@RequestMapping(value = "/happy}", method = RequestMethod.POST)
public String unhappy(@RequestParam(value = "somevalue") String string) {
// send a custom error message to the user to use a number instead of a String
return null;
}
确定我会尝试, ..我们可以使用@Exceptionhandler这个吗? – parbi 2011-03-14 06:19:05
我试过了,没有工作,得到以下异常: java.lang.IllegalStateException:找到了不明确的映射。无法映射'myControllerClass'bean方法 public com.company.mvc.views.MyXmlView com.company.mvc.controllers.MyControllerClass.unhappy(java.lang.String) to {[/ path/to/web/controller],方法= [GET],params = [],headers = [],consumes = [],产生= [],custom = []}:已有'myControllerClass'bean方法 public com。 company.mvc.views.MyXmlView com.company.mvc.controllers.MyControllerClass.happy(java.lang.String,java.lang.Integer)映射。 – barryred 2013-03-06 11:24:30
在这里看到正确答案 http://stackoverflow.com/questions/2287381/spring-mvc-and-requestparam-validation – Janning 2011-08-29 15:19:06