gpt4 book ai didi

java - Spring boot - 设置全局错误处理程序以屏蔽 REST 端点

转载 作者:行者123 更新时间:2023-11-30 06:06:56 29 4
gpt4 key购买 nike

我有一个带有静态端点的 Spring Boot 应用程序。我想要一个全局错误处理程序,基本上捕获任何异常,以便我可以管理响应(即不想在响应中公开大的 java 堆栈跟踪)

实现这一目标的最佳方法是什么?

最佳答案

创建一个带有异常处理程序的 Controller 建议类,该异常处理程序将缓存您所需类型的所有异常。

@ControllerAdvice
public class GlobalExceptionHandler {

private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);

@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler(Exception.class)
public void handleAll(Exception e) {
log.error("Unhandled exception occurred", e);
}

}

如果您愿意,您可以像从常规 Controller 方法一样从该方法返回正文,或者只是返回一些 HTTP 状态代码。上面的代码使用 @ResponseStatus 注释返回 500。

您只能捕获特定的异常类型。 @ExceptionHandler 注解接受异常数组作为 value 属性。

关于java - Spring boot - 设置全局错误处理程序以屏蔽 REST 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42907502/

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