Spring-mvc控制器和异常处理

Khu*_*ush 7 java spring spring-mvc

想问一个关于spring-mvc控制器的最佳实践问题.请查看以下代码:

    @Autowired
    SomeService service;

    @RequestMapping (...)
    public @ResponseBody Response createSomething () {

       try {

            serviceResponse = service.doSomething();

            //create a success response and return

       }
       catch (SomeServiceException e) {
             //create an error response and return 
       }

}
Run Code Online (Sandbox Code Playgroud)

错误处理是否在控制器级别正常进行?或者服务类是否应该抛出如上所示的异常.请查看并告知我们.

bmi*_*lik 7

我会说你有三种策略,具体取决于你的用例.

大致有三种策略:HandlerExceptionResolver,@ ExceptionHandler以及在action内部处理异常.

这些用例包括:整个应用程序的常见异常处理程序,整个控制器,相应的特定操作.