在注释驱动的Spring MVC中动态更改@ResponseStatus

我真的不确定使用Spring 3.2 MVC是否可行。

我的控制器有一个声明如下的方法:

@RequestMapping(method = RequestMethod.GET)

@ResponseStatus(HttpStatus.OK)

public @ResponseBody List<Foo> getAll(){

return service.getAll();

}

  1. 是什么意思@ResponseStatus(HttpStatus.OK)
  2. 是否表示该方法将始终返回HttpStatus.OK状态代码。
  3. 如果服务层抛出异常怎么办?
  4. 是否可以在发生任何异常时更改响应状态?
  5. 如何根据条件以同一方法处理多个响应状态?

回答:

@ResponseStatus(HttpStatus.OK)表示如果处理方法正常返回,则请求将返回OK(此注释在这种情况下是多余的,因为默认响应状态为HttpStatus.OK)。如果处理程序引发异常,则注释不适用。

如何根据条件以同一方法处理多个响应状态?

是否可以在发生任何异常时更改响应状态

您有两种选择。如果异常类是您自己的异常类,则可以使用注释该异常类@ResponseStatus。另一个选择是为控制器类提供一个带有注释的异常处理程序@ExceptionHandler,并让异常处理程序设置响应状态。

以上是 在注释驱动的Spring MVC中动态更改@ResponseStatus 的全部内容, 来源链接: utcz.com/qa/408794.html

回到顶部