Spring Boot可以通過自定義全局異常處理器和返回結果封裝類來實現統一的響應格式。
@ControllerAdvice
注解標注,并使用@ExceptionHandler
注解定義處理異常的方法。在方法中可以自定義異常的返回格式,如返回一個封裝了錯誤碼和錯誤信息的對象。示例代碼如下:
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
public Result handleException(Exception e) {
// 處理異常邏輯,可以根據不同的異常類型返回不同的錯誤碼和錯誤信息
return Result.error(500, e.getMessage());
}
}
示例代碼如下:
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
參數為需要返回的數據。這樣就可以實現統一的響應格式。