【JAVA】Java中Spring Boot如何设置全局的BusinessException

文章目录


前言

在Java应用开发中,我们常常需要处理各种异常。Spring Boot提供了一种方便的方式来全局处理异常。在本文中,我们将探讨如何在Spring Boot中设置全局的BusinessException。


一、函数解释

在Spring Boot中,我们主要使用以下的注解和方法:

  • @ExceptionHandler: 这是Spring提供的一个注解,我们使用它来标记一个方法是异常处理器。
  • @ResponseBody: 这是Spring提供的一个注解,我们使用它来将方法的返回值转换为JSON或其他适合HTTP响应的格式。

二、代码实现

以下是一个使用这些注解和方法的例子:

首先,我们创建一个BusinessException类:

c 复制代码
public class BusinessException extends RuntimeException {
    private String code;
    private String msg;

    public BusinessException(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    // getters and setters
}

然后,我们创建一个全局的异常处理器:

c 复制代码
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.http.HttpStatus;

@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(BusinessException.class)
    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    @ResponseBody
    public String handleBusinessException(BusinessException ex) {
        // 这里你可以返回一个错误的JSON或者其他你想返回的信息
        return "Error code: " + ex.getCode() + ", message: " + ex.getMessage();
    }
}

在这个例子中,我们首先创建了一个GlobalExceptionHandler类,并使用@ControllerAdvice注解来标记它是一个全局的异常处理器。然后我们使用@ExceptionHandler注解来处理BusinessException。当BusinessException被抛出时,handleBusinessException方法会被调用,然后返回一个错误的信息。


三、总结

在本文中,我们讨论了如何在Spring Boot中设置全局的BusinessException。我们首先解释了@ExceptionHandler和@ResponseBody注解,然后给出了一个基本的示例代码。希望这篇博客能帮助你理解如何在Spring Boot中全局处理BusinessException。

相关推荐
qzw12102 分钟前
Java与Elasticsearch集成详解,以及使用指南
java·elasticsearch·jenkins
爱的叹息2 分钟前
分别用树型和UML结构展示java集合框架常见接口和类
java·开发语言·uml
马院代表人3 分钟前
Java入职篇(4)——git的使用
java·git·职场和发展
涂瑷菡9 分钟前
Bash语言的进程管理
开发语言·后端·golang
猿六凯16 分钟前
历年云南大学计算机复试上机真题
java·华为od·华为
尽力不摆烂的阿方20 分钟前
《图解设计模式》 学习笔记
java·笔记·学习·设计模式
bossface24 分钟前
Qt 控件概述 QWdiget
开发语言·qt
一个会的不多的人28 分钟前
C# NX二次开发:旋转UFUN函数使用详解
开发语言·c#
Suckerbin1 小时前
第四章-PHP文件包含
开发语言·php
Nice2cu_Code1 小时前
Python教程(三):类&对象、闭包、装饰器、类型注解、MRO
开发语言·python