如何在休息控制器中抛出异常

时间:2013-04-23 03:15:02

标签: java rest exception-handling

我想从控制器中抛出一个异常。我怎么能这样做?

@RequestMapping(value = "user", method = RequestMethod.POST, headers = "Accept=application/xml, application/json")
public @ResponseBody
AppUserDTO registerUser(@RequestBody AppUserDTO userDTO) {


        return userService.registerUser(userDTO);

}

在此返回中,它将抛出异常。我可以使用任何类型的注释吗?如何将异常作为JSON传递给客户端?

2 个答案:

答案 0 :(得分:5)

您似乎正在使用Spring-MVC。存在少数异常,默认情况下映射到特定的HTTP错误代码。你可以在这里找到这些列表:

http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann-rest-spring-mvc-exceptions

您抛出的任何其他未捕获的异常都将导致HTTP 500响应。

有关如何在Spring中使用Exceptions的详细解答,建议您详细阅读链接页面或google“Spring MVC Exception”。

答案 1 :(得分:0)

此博客中有关异常处理的更多示例: http://www.ekiras.com/2016/02/how-to-do-exception-handling-in-springboot-rest-application.html

示例引用Spring Boot,但也适用于普通的Spring REST。