@ResponseStatus加在自定义运行时异常上
示例代码:
@ResponseStatus(HttpStatus.BAD_GATEWAY)
public class BadGatewayException extends RuntimeException {
public BadGatewayException() {
}
public BadGatewayException(String message) {
super(message);
}
public BadGatewayException(String message, Throwable cause) {
super(message, cause);
}
}
(1)如果不加@ResponseStatus,在代码中直接抛出该自定义异常,会以500的HTTP状态码响应到浏览器;
(2)如果加@ResponseStatus,在代码中直接抛出该自定义异常,会以指定的HTTP状态码和指定的reson响应到浏览器;我们自定义异常的目的就是为了让它正确表述我们的思想,所以给其设置响应状态码和原因让其准确表达我们的目的。
参考资料:
https://blog.youkuaiyun.com/ITWANGBOIT/article/details/103718926
https://blog.youkuaiyun.com/qq_17586821/article/details/79822669
在Java中,通过在自定义运行时异常上添加@ResponseStatus注解,可以改变HTTP响应的状态码和响应信息。不加注解时,默认为500状态码;加上注解后,能够更精确地反馈异常状态,例如示例中设置了BAD_GATEWAY状态码,以更好地表达异常情况。
1070

被折叠的 条评论
为什么被折叠?



