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
参数为需要返回的数据。这样就可以实现统一的响应格式。