封装类
@Data
public class CommonResult <T>{
private String code;
private String msg;
private T data;
public CommonResult() {
}
public CommonResult(String code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public static <T> CommonResult<T> success(){
return new CommonResult<T>(ResponseCodeEnum.SUCCESS.code, ResponseCodeEnum.SUCCESS.msg, null);
}
public static <T> CommonResult<T> success(String msg){
return new CommonResult<T>(ResponseCodeEnum.SUCCESS.code, msg, null);
}
public static <T> CommonResult<T> success(T data){
return new CommonResult<T>(ResponseCodeEnum.SUCCESS.code, ResponseCodeEnum.SUCCESS.msg, data);
}
public static <T> CommonResult<T> error(ResponseCodeEnum errorCode){
return new CommonResult<T>(errorCode.code, errorCode.msg, null);
}
public static <T> CommonResult<T> error(ResponseCodeEnum errorCode,String msg){
return new CommonResult<T>(errorCode.code,msg,null);
}
}
自定义一些返回状态码
public enum ResponseCodeEnum {
SUCCESS("200","请求成功"),
ERROR("500","请求失败"),
PRAM_NOT_MATCH("400", "参数不正确"),
VALIDATE_FAILED("400", "参数检验失败"),
UNAUTHORIZED("401", "未登录或token过期,请登录!"),
FORBIDDEN("403", "没有相关权限"),
NOT_FOUND("404", "没有找到相关数据");
public String code;
public String msg;
ResponseCodeEnum(String code, String msg) {
this.code = code;
this.msg = msg;
}
}
简单测试
@PostMapping("/login")
public CommonResult login(@RequestBody SysUser sysUser){
Object obj = sysUserService.login(sysUser);
if(obj == null){
return CommonResult.error(ResponseCodeEnum.NOT_FOUND);
}
return CommonResult.success(obj);
}