Lombok的GitHub地址
统一结果返回
通用的响应对象
public class Result<T> {
private Integer code
private String msg
private T data
public static <T> Result<T> success() {
Result<T> result = new Result<T>()
result.code = StatusEnum.SUCCESS.code
return result
}
public static <T> Result<T> success(T object) {
Result<T> result = new Result<T>()
result.data = object
result.code = StatusEnum.SUCCESS.code
return result
}
public static <T> Result<T> error(String msg) {
Result result = new Result()
result.msg = msg
result.code = StatusEnum.FAIL.code
return result
}
}
响应状态码枚举
public enum StatusEnum {
SUCCESS(200 ,"请求处理成功"),
FAIL(500 ,"失败");
public final Integer code;
public final String message;
StatusEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
##### 统一异常处理
全局异常处理器
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
@ExceptionHandler
public Result exceptionHandler(BaseException ex) {
log.error("异常信息:{}", ex.getMessage());
return Result.error(ex.getMessage());
}
}
继承自 RuntimeException 的异常类
public class BaseException extends RuntimeException {
public BaseException() {
}
public BaseException(String msg) {
super(msg);
}
}