Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在@ResponseStatus中使用多个值HttpStatus_Java_Spring_Http_Spring Mvc - Fatal编程技术网

Java 在@ResponseStatus中使用多个值HttpStatus

Java 在@ResponseStatus中使用多个值HttpStatus,java,spring,http,spring-mvc,Java,Spring,Http,Spring Mvc,我在我的异常中使用Spring注释@ResponseStatus @ResponseStatus(value=HttpStatus.UNAUTHORIZED) public class UnauthorizedException extends Exception{ } 问题是我想对一些值抛出相同的错误,比如HttpStatus.SC\u SERVICE\u UNAVAILABLE,等等 有没有办法在@ResponseStatus中使用多个值?提前感谢。否。您不能有多个http状态码。检查 如

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

@ResponseStatus(value=HttpStatus.UNAUTHORIZED)
public class UnauthorizedException extends Exception{
}
问题是我想对一些值抛出相同的错误,比如
HttpStatus.SC\u SERVICE\u UNAVAILABLE
,等等


有没有办法在
@ResponseStatus
中使用多个值?提前感谢。

否。您不能有多个http状态码。检查

如果您确实希望在不同的场景中设置不同的状态代码(但每个响应只有一个状态代码),请删除注释,并通过代码添加注释:

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

想到的唯一解决方法是不使用
@ResponseStatus
注释。考虑在控制器中编写自己的错误处理代码,这些代码捕获相关的异常集,错误代码以您更喜欢的方式。如果它在多个控制器中,考虑编写拦截器或使用AOP。

< P>,可以在<代码> HttpServletResponse < /Cuff>类中设置响应代码,使用<代码> .SESTATSUMER()/<代码>方法,您可以从<代码> AppultValue获得。p> 为什么不创建多个异常类并抛出相应的异常类?

谢谢。我知道注释中不能有多个http状态码,但是否有任何解决方法。@parbi http不允许这样做