Spring Boot可以通過自定義全局異常處理器和返回結(jié)果封裝類來(lái)實(shí)現(xiàn)統(tǒng)一的響應(yīng)格式。
@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());
}
}
示例代碼如下:
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)格式。