SpringBoot怎么統(tǒng)一響應(yīng)格式

小億
100
2024-01-24 11:51:35

Spring Boot可以通過自定義全局異常處理器和返回結(jié)果封裝類來(lái)實(shí)現(xiàn)統(tǒng)一的響應(yīng)格式。

  1. 自定義全局異常處理器: 創(chuàng)建一個(gè)類,使用@ControllerAdvice注解標(biāo)注,并使用@ExceptionHandler注解定義處理異常的方法。在方法中可以自定義異常的返回格式,如返回一個(gè)封裝了錯(cuò)誤碼和錯(cuò)誤信息的對(duì)象。

示例代碼如下:

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    @ResponseBody
    public Result handleException(Exception e) {
        // 處理異常邏輯,可以根據(jù)不同的異常類型返回不同的錯(cuò)誤碼和錯(cuò)誤信息
        return Result.error(500, e.getMessage());
    }
}
  1. 返回結(jié)果封裝類: 創(chuàng)建一個(gè)類,用于封裝返回結(jié)果的格式,包含狀態(tài)碼和消息內(nèi)容等信息。

示例代碼如下:

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;
    }
}

配置完成后,當(dāng)發(fā)生異常時(shí),全局異常處理器會(huì)處理異常并返回自定義的錯(cuò)誤碼和錯(cuò)誤信息。在正常情況下,可以通過Result.success()方法返回成功的響應(yīng)結(jié)果,其中data參數(shù)為需要返回的數(shù)據(jù)。這樣就可以實(shí)現(xiàn)統(tǒng)一的響應(yīng)格式。

0