首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Spring Boot的JSON响应中显示异常名称

在Spring Boot的JSON响应中显示异常名称,可以通过以下步骤实现:

  1. 首先,确保你的Spring Boot应用程序已经引入了相关的依赖,包括spring-boot-starter-webspring-boot-starter-webflux
  2. 创建一个自定义的异常处理器类,该类需要实现ErrorController接口,并使用@RestControllerAdvice注解进行标记。这个异常处理器将用于捕获应用程序中的异常并返回自定义的JSON响应。
代码语言:txt
复制
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/error")
public class CustomErrorController implements ErrorController {

    @RequestMapping
    public ResponseEntity<ErrorResponse> handleError(HttpServletRequest request) {
        // 获取异常信息
        Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
        Object error = request.getAttribute(RequestDispatcher.ERROR_EXCEPTION);

        // 构建自定义的错误响应
        ErrorResponse response = new ErrorResponse();
        response.setStatus((Integer) status);
        response.setError(error.getClass().getSimpleName()); // 获取异常名称

        return new ResponseEntity<>(response, HttpStatus.INTERNAL_SERVER_ERROR);
    }

    @Override
    public String getErrorPath() {
        return "/error";
    }
}
  1. 创建一个自定义的错误响应类,用于封装错误信息。
代码语言:txt
复制
public class ErrorResponse {
    private int status;
    private String error;

    // 省略 getter 和 setter 方法
}
  1. 在应用程序的配置文件(如application.propertiesapplication.yml)中,禁用Spring Boot的默认错误处理。

对于application.properties

代码语言:txt
复制
server.error.whitelabel.enabled=false

对于application.yml

代码语言:txt
复制
server:
  error:
    whitelabel:
      enabled: false
  1. 现在,当应用程序中发生异常时,将会被CustomErrorController捕获,并返回一个包含异常名称的JSON响应。

注意:以上代码示例中的异常处理方式是一种简单的实现方式,你可以根据实际需求进行修改和扩展。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云云函数(SCF)、腾讯云API网关(API Gateway)。

腾讯云产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券