- @ResponseStatus用于修饰一个类或者一个方法,修饰一个类的时候,一般修饰的是一个异常类,当处理器的方法被调用时,@ResponseStatus指定的code和reason会被返回给前端
参数 |
描述 |
code |
用于响应的http状态代码,比如404,500等。 |
reason |
用于响应的原因。 |
value |
code属性的别名 |
- 当修改类或方法时,只要该类得到调用,那么value和reason都会被添加到response里
示例
@ControllerAdvice
@Component
public class GlobalExceptionHandler
{
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
return new MethodValidationPostProcessor();
}
@ExceptionHandler
@ResponseBody
@ResponseStatus(value=HttpStatus.BAD_REQUEST,reason="哈哈")
public String handle(ValidationException exception) {
System.out.println("bad request, " + exception.getMessage());
return "bad
request, " + exception.getMessage();
}
}
结果如下:
- 该方法得到调用,不论是否抛异常,都会把value和reason添加到response里。
- @ResponseStatus是为了在方法或类得到调用时将指定的code和reason添加到response里返前端,就像服务器常给我们报的404错误一样,我们可以自己指定错误提示