温馨提示×

SpringBoot怎么统一响应格式

小亿
86
2024-01-24 11:51:35
栏目: 编程语言

Spring Boot可以通过自定义全局异常处理器和返回结果封装类来实现统一的响应格式。

  1. 自定义全局异常处理器: 创建一个类,使用@ControllerAdvice注解标注,并使用@ExceptionHandler注解定义处理异常的方法。在方法中可以自定义异常的返回格式,如返回一个封装了错误码和错误信息的对象。

示例代码如下:

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    @ResponseBody
    public Result handleException(Exception e) {
        // 处理异常逻辑,可以根据不同的异常类型返回不同的错误码和错误信息
        return Result.error(500, e.getMessage());
    }
}
  1. 返回结果封装类: 创建一个类,用于封装返回结果的格式,包含状态码和消息内容等信息。

示例代码如下:

public class Result<T> {

    private int code;
    private String message;
    private T data;

    // getter和setter方法

    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>();
        result.setCode(200);
        result.setMessage("操作成功");
        result.setData(data);
        return result;
    }

    public static <T> Result<T> error(int code, String message) {
        Result<T> result = new Result<>();
        result.setCode(code);
        result.setMessage(message);
        return result;
    }
}

配置完成后,当发生异常时,全局异常处理器会处理异常并返回自定义的错误码和错误信息。在正常情况下,可以通过Result.success()方法返回成功的响应结果,其中data参数为需要返回的数据。这样就可以实现统一的响应格式。

0