java - 在 @ResponseStatus 中使用多个值 HttpStatus

标签 java spring http spring-mvc

我在异常中使用 Spring 注释 @ResponseStatus

@ResponseStatus(value=HttpStatus.UNAUTHORIZED)
public class UnauthorizedException extends Exception{
}

问题是我想为许多值抛出相同的错误,例如 HttpStatus.SC_SERVICE_UNAVAILABLE 等。

有什么方法可以在@ResponseStatus 中使用多个值吗?提前致谢。

最佳答案

没有。您不能有多个 http 状态代码。检查http spec

如果你真的想在不同的场景下设置不同的状态码(但每个响应只设置一个状态码),那么去掉注解,通过代码添加:

public X method(HttpServletResponse response) {
    if (..) {
         response.setStatus(..);
    } else {
         response.setStatus(..);
    }
}

关于java - 在 @ResponseStatus 中使用多个值 HttpStatus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5013327/

相关文章:

php - 使用 Postman 通过 HTTP POST 上传图片

Java回车键和提交按钮一样吗?

java - ApplicationContext.getBean 与 new 关键字

java - 如何在Java中获取log4j2中DefaultRolloverStrategy的 "max"属性值

java - 为什么在 Spring MVC 服务中调用一个简单方法每次都比静态方法慢?

spring - 通过 Maven 将简单的 Spring Hibernate 实用程序项目部署到 Tomcat

javascript - 如何处理所有 AJAX 调用的特定 HTTP 错误?

http - Etag 和 Expires header 有什么区别?

Javamail imap getMessages 返回 null 数组

java - Android - 比较方法违反了它的一般契约