首页
学习
活动
专区
工具
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)。

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

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

相关·内容

Spring Boot HTTP over JSON 错误码异常处理

– 《你凭什么做好互联网》 本文提纲 一、异常统一处理使用场景 二、运行 springboot-validation-over-json 工程 三、springboot-validation-over-json...工程代码详解 一、异常统一处理使用场景 在前后端分离开发,经常用 HTTP over JSON 作为服务进行前后端联调对接。...3.微服务尤其适用 这时候 HTTP over JSON 形式很多涉及到返回码,错误码相关处理。比如xxx参数不完整,权限不足,用户不存在等。 怎么统一处理认为是异常场景呢?...这里案例是 HTTP over JSON 模式,所以直接利用 RestControllerAdvice ,控制层通知器,这里用于统一拦截异常,进行响应处理。..." } } 三、springboot-validation-over-json工程代码详解 代码详解提纲 a.控制层通知器 b.响应码设计 同样,代码共享在我 GitHub 上: https

58920

Spring Boot2 系列教程(十三)Spring Boot 全局异常处理

Spring Boot 项目中 ,异常统一处理,可以使用 Spring @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案。...Spring Boot ,对异常处理有一些默认策略,我们分别来看。 默认情况下,Spring Boot 异常页面 是这样: ?...,另一种就是直接定义一个 4xx.html,表示400-499 状态都显示这个异常页面,5xx.html 表示 500-599 状态显示这个异常页面。...注意,动态页面模板,不需要开发者自己去定义控制器,直接定义异常页面即可 ,Spring Boot 自带异常处理器会自动查找到异常页面。 页面定义如下: ? 页面内容如下: <!...5、Spring Boot2 系列教程(五)Spring Boot yaml 配置 6、Spring Boot2 系列教程(六)自定义 Spring Boot starter 7、Spring

94810
  • Spring Boot 响应式编程和 WebFlux 入门

    Spring Boot 2.0 是基于 Spring5 构建而成,因此 Spring Boot 2.X 将自动继承了 Webflux 组件,本篇给大家介绍如何在 Spring Boot 中使用 Webflux...Reactor Java 领域响应式编程库,最有名算是 Reactor 了。Reactor 也是 Spring 5 反应式编程基础,Webflux 依赖 Reactor 而构建。...WebFlux 模块名称spring-webflux,名称 Flux 来源于 Reactor 类 Flux。...默认情况下,Spring Boot 2 使用 Netty WebFlux,因为 Netty 在异步非阻塞空间中被广泛使用,异步非阻塞连接可以节省更多资源,提供更高响应度。...Spring Boot Webflux 有两种编程模型实现,一种类似 Spring MVC 注解方式,另一种是基于 Reactor 响应式方式。

    3.5K20

    Spring BootWeb应用统一异常处理

    Spring Boot提供了一个默认映射: /error,当处理抛出异常之后,会转到该请求处理,并且该请求有一个全局错误页面用来展示异常内容。...选择一个之前实现过Web应用(Chapter3-1-2)为基础,启动该应用,访问一个不存在URL,或是修改处理内容,直接抛出异常: @RequestMapping("/hello")public...统一异常处理 虽然,Spring Boot实现了默认error映射,但是在实际应用,上面你错误页面对用户来说并不够友好,我们通常需要去实现我们自己异常提示。...然后在 @ControllerAdvice类,根据抛出具体 Exception类型匹配 @ExceptionHandler配置异常类型来匹配错误映射和处理。..."} 至此,已完成在Spring Boot创建统一异常处理,实际实现还是依靠Spring MVC注解,更多更深入使用可参考Spring MVC文档。

    1.2K60

    Spring Boot 关于自定义异常处理套路!

    4-12-1.jpg 在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案。...Spring Boot ,对异常处理有一些默认策略,我们分别来看。...默认情况下,Spring Boot 异常页面 是这样: 我们从这个异常提示,也能看出来,之所以用户看到这个页面,是因为开发者没有明确提供一个 /error 路径,如果开发者提供了 /error...,另一种就是直接定义一个 4xx.html,表示400-499 状态都显示这个异常页面,5xx.html 表示 500-599 状态显示这个异常页面。...注意,动态页面模板,不需要开发者自己去定义控制器,直接定义异常页面即可 ,Spring Boot 自带异常处理器会自动查找到异常页面。 页面定义如下: 页面内容如下: <!

    1K00

    Spring Boot 关于自定义异常处理套路!

    Spring Boot 项目中 ,异常统一处理,可以使用 Spring @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案。...Spring Boot ,对异常处理有一些默认策略,我们分别来看。 默认情况下,Spring Boot 异常页面 是这样: ?...,另一种就是直接定义一个 4xx.html,表示400-499 状态都显示这个异常页面,5xx.html 表示 500-599 状态显示这个异常页面。...注意,动态页面模板,不需要开发者自己去定义控制器,直接定义异常页面即可 ,Spring Boot 自带异常处理器会自动查找到异常页面。 页面定义如下: ? 页面内容如下: <!...自定义异常数据 默认情况下,在Spring Boot ,所有的异常数据其实就是上文所展示出来5条数据,这5条数据定义在 org.springframework.boot.web.reactive.error.DefaultErrorAttributes

    1.3K40

    Spring Boot 关于自定义异常处理套路!

    Spring Boot 项目中 ,异常统一处理,可以使用 Spring @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案。...Spring Boot ,对异常处理有一些默认策略,我们分别来看。 默认情况下,Spring Boot 异常页面 是这样: ?...,另一种就是直接定义一个 4xx.html,表示400-499 状态都显示这个异常页面,5xx.html 表示 500-599 状态显示这个异常页面。...注意,动态页面模板,不需要开发者自己去定义控制器,直接定义异常页面即可 ,Spring Boot 自带异常处理器会自动查找到异常页面。 页面定义如下: ? 页面内容如下: <!...自定义异常数据 默认情况下,在Spring Boot ,所有的异常数据其实就是上文所展示出来5条数据,这5条数据定义在 org.springframework.boot.web.reactive.error.DefaultErrorAttributes

    1.2K20

    何在 Spring Boot 实现在 Request 里解密参数返回功能?

    随着移动互联网和云计算技术快速发展,越来越多企业开始使用 Web 应用来实现业务,而 Spring Boot 作为目前比较流行 Java Web 框架之一,则被广泛应用于 Web 应用开发。...在实际项目开发,我们经常需要对传递参数进行加密,在服务端进行解密后再进行处理。本文将介绍如何在 Spring Boot 实现在 Request 里解密参数返回功能。1....相关技术介绍2.1 Spring Boot MVC 架构和请求处理机制Spring Boot MVC(Model-View-Controller)架构是基于 HTTP 协议,它会将请求发送到对应...3.4 配置拦截器在实现完参数拦截器之后,我们需要将拦截器配置到 Spring Boot 。...在本例,我们对所有请求进行拦截,以确保所有传递参数都能够进行解密操作。4. 总结本文介绍了如何在 Spring Boot 实现在 Request 里解密参数返回功能。

    1.1K21

    高级性能测试系列《13.察看结果树显示顺序、 响应提取--json提取器》

    目录 一、注意 二、察看结果树显示顺序 三、响应提取--json提取器(上) 1.绝对路径写法 2.相对路径写法 一、注意 1.察看结果树,请求显示红色或绿色。...二、察看结果树显示顺序 1.最重要点:察看结果树显示顺序,是根据收到响应先后顺序显示,是先收到先显示。 jmeter取样器执行顺序:在没有逻辑控制器控制时,顺序是从上往下。...多个用户在进行这件事,别的人登录做完了,就显示在你这个人注册前面去了。 三、响应提取--json提取器(上) 响应提取:response提取。...当确定响应信息为json格式时,我们优先选择用json提取器提取我们想要信息。...而是要提取哪个取样器响应结果值,就放在哪个取样器下面。 注意:别把data写成了date,否则会提取不到值。 2.相对路径写法 推荐用相对路径写法,这样不容易写错路径: $..末梢节点名称

    1.2K10

    重学SpringBoot3-ErrorMvcAutoConfiguration类

    这篇文章将详细介绍 ErrorMvcAutoConfiguration类,包括其作用、工作原理以及如何在 Spring Boot 3 应用定制和使用它。...在 Spring Boot 应用,当应用遇到运行时异常或者请求映射到不存在路径时,ErrorMvcAutoConfiguration 类负责自动配置错误处理相关机制。...工作原理 ErrorMvcAutoConfiguration 利用 Spring MVC 异常处理机制来捕捉应用各种错误,并将错误信息映射到相应错误处理控制器。...使用 ErrorAttributes:Spring Boot 提供了 ErrorAttributes接口,允许开发者在控制器或视图中访问错误相关属性(状态码、错误消息等)。...添加自定义错误页面 在Spring Boot应用,可以通过在 src/main/resources/static/error目录下添加错误页面来自定义错误响应

    10110

    深入Spring Boot (九):Web应用统一异常处理

    默认异常处理 通过浏览器请求一个不存在页面或服务端处理发生异常时,Spring Boot会返回类似如下错误提示页面: ?...当使用Postman等调试工具发送请求请求一个不存在url或服务端处理发生异常时,Spring Boot会返回类似如下Json格式字符串信息: { "timestamp": "2018-03...或服务端处理发生异常时,Spring Boot捕获到这个异常后会请求/error,这个/error请求会在BasicErrorController处理,这个类里面有两个重要处理方法errorHtml和...默认情况下浏览器发送请求头中Accept为text/html,所以此时请求进入errorHtml方法处理,Spring Boot响应一个“Whitelabel Error Page”页面;当使用Postman...覆盖默认异常处理 虽然Spring Boot提供了默认全局统一异常处理机制,但在真实应用,这样错误提示并不友好,所以,需要修改这种默认处理机制。

    1.4K80

    深入理解 Spring Boot @RestController 注解:概念与实践

    在现代Web开发,创建RESTful服务已成为常态。Spring Boot通过提供@RestController注解,极大简化了REST API开发过程。...本篇博客旨在详细介绍@RestController概念、优势以及在Spring Boot项目中具体应用方法。...使用@RestController标注类下所有方法返回数据直接写入HTTP响应,这是因为这些方法隐式地带有@ResponseBody注解。...如何使用 @RestController以下是几个示例,展示如何在Spring Boot应用中使用@RestController来定义和实现RESTful服务。...,列表或者复杂对象图,Spring将自动处理序列化:java复制代码@GetMapping("/list")public ResponseEntity> listAllUsers() { List

    2.2K10

    Spring Boot 最最最常用注解梳理

    @RestController 注解是@Controller和@ResponseBody合集,表示这是个控制器bean,并且是将函数返回值直 接填入HTTP响应,是REST风格控制器。...@Bean: 用@Bean标注方法等价于XML配置bean。 @Value: 注入Spring boot application.properties配置属性值。...,以便使用,sequenceName为数据库sequence名称,两个名称可以一致。...RequestMapping是一个用来处理请求地址映射注解,可用于类或方法上。用于类上,表示类所有响应请求方法都是以该地址作为父路径。...(Content-Type),application/json,text/html; produces:指定返回内容类型,仅当request请求头中(Accept)类型包含该指定类型才返回 @RequestParam

    86110

    史上最全 SpringBoot 注解大全,必须收藏!

    @RestController注解是@Controller和@ResponseBody合集,表示这是个控制器bean,并且是将函数返回值直 接填入HTTP响应,是REST风格控制器。...@Bean:用@Bean标注方法等价于XML配置bean。 @Value:注入Spring boot application.properties配置属性值。...,以便使用,sequenceName为数据库sequence名称,两个名称可以一致。...RequestMapping是一个用来处理请求地址映射注解,可用于类或方法上。 用于类上,表示类所有响应请求方法都是以该地址作为父路径。...(Content-Type),application/json,text/html; produces:指定返回内容类型,仅当request请求头中(Accept)类型包含该指定类型才返回 @RequestParam

    95530

    干货 | SpringBoot注解大全,值得收藏

    @RestController注解是@Controller和@ResponseBody合集,表示这是个控制器bean,并且是将函数返回值直 接填入HTTP响应,是REST风格控制器。...@Bean:用@Bean标注方法等价于XML配置bean。 @Value:注入Spring boot application.properties配置属性值。...,以便使用,sequenceName为数据库sequence名称,两个名称可以一致。...RequestMapping是一个用来处理请求地址映射注解,可用于类或方法上。 用于类上,表示类所有响应请求方法都是以该地址作为父路径。...(Content-Type),application/json,text/html; produces:指定返回内容类型,仅当request请求头中(Accept)类型包含该指定类型才返回 @

    60350

    SpringBoot注解大全,收藏一波!!!

    @RestController注解是@Controller和@ResponseBody合集,表示这是个控制器bean,并且是将函数返回值直 接填入HTTP响应,是REST风格控制器。...@Bean:用@Bean标注方法等价于XML配置bean。 @Value:注入Spring boot application.properties配置属性值。...,以便使用,sequenceName为数据库sequence名称,两个名称可以一致。...RequestMapping是一个用来处理请求地址映射注解,可用于类或方法上。 用于类上,表示类所有响应请求方法都是以该地址作为父路径。...(Content-Type),application/json,text/html; produces:指定返回内容类型,仅当request请求头中(Accept)类型包含该指定类型才返回 @

    69340

    还怕不记得Spring Boot注解吗?5类注解全在这里了(建议收藏)

    springIoC容器提供功能 Spring Boot核心就是注解。...Spring Boot通过各种组合注解,极大地简化了Spring项目的搭建和开发。在Spring Boot中有一些注解是其中关键,必须掌握。接下来就给大家做详细介绍。...@Bean:用@Bean标注方法等价于XML配置bean。 @Value:注入Spring boot application.properties配置属性值。...RequestMapping是一个用来处理请求地址映射注解,可用于类或方法上。 用于类上,表示类所有响应请求方法都是以该地址作为父路径。...(Content-Type),application/json,text/html; produces:指定返回内容类型,仅当request请求头中(Accept)类型包含该指定类型才返回 @

    65200

    5个点彻底搞清楚SpringBoot注解

    @RestController注解是@Controller和@ResponseBody合集,表示这是个控制器bean,并且是将函数返回值直 接填入HTTP响应,是REST风格控制器。...@Bean:用@Bean标注方法等价于XML配置bean。 @Value:注入Spring boot application.properties配置属性值。...,以便使用,sequenceName为数据库sequence名称,两个名称可以一致。...RequestMapping是一个用来处理请求地址映射注解,可用于类或方法上。 用于类上,表示类所有响应请求方法都是以该地址作为父路径。...(Content-Type),application/json,text/html; produces:指定返回内容类型,仅当request请求头中(Accept)类型包含该指定类型才返回 @RequestParam

    70700

    新整理SpringBoot注解大全

    @RestController注解是@Controller和@ResponseBody合集,表示这是个控制器bean,并且是将函数返回值直 接填入HTTP响应,是REST风格控制器。...@Bean:用@Bean标注方法等价于XML配置bean。 @Value:注入Spring boot application.properties配置属性值。...,以便使用,sequenceName为数据库sequence名称,两个名称可以一致。...RequestMapping是一个用来处理请求地址映射注解,可用于类或方法上。 用于类上,表示类所有响应请求方法都是以该地址作为父路径。...(Content-Type),application/json,text/html; produces:指定返回内容类型,仅当request请求头中(Accept)类型包含该指定类型才返回 @

    58510
    领券