gpt4 book ai didi

java - Spring 中的自定义 Http 状态码

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:02:45 27 4
gpt4 key购买 nike

我正在使用 Spring Boot,并且在我的业务逻辑代码中使用了异常类。一个可能看起来像这样:

@ResponseStatus(HttpStatus.BAD_REQUEST)
public class ExternalDependencyException extends RuntimeException {

public ExternalDependencyException() {
super("External Dependency Failed");
}
public ExternalDependencyException(String message) {
super(message);
}

}

好吧,现在有异常,没有预定义的 Http 状态代码是合适的,所以我想使用像 460 或类似的状态代码,它仍然是免费的,但是注释 ResponseStatus 只接受来自枚举 HttpStatus 的值。有没有办法在java spring boot环境下实现自定义状态码的Exception类?

最佳答案

我不知道有什么方法可以用 @ResponseStatus 做到这一点.

解决此问题的一种方法是使用 @RestControllerAdvice .这将允许您自定义返回异常的方式。

@RestControllerAdvice
public class WebRestControllerAdvice {

@ExceptionHandler(ExternalDependencyException.class)
public String handleGitlabException(ExternalDependencyException ex, HttpServletResponse response) {
try {
response.sendError(460);
} catch (Exception e) {
e.printStackTrace();
}
return ex.getMessage();
}
}

关于java - Spring 中的自定义 Http 状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46470897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com