接口返回结果封装
1、错误信息枚举
package com. zhw. enums ; public enum AppHttpCodeEnum { SUCCESS ( 200 , "操作成功" ) , NEED_LOGIN ( 401 , "需要登录后操作" ) , NO_OPERATOR_AUTH ( 403 , "无权限操作" ) , SYSTEM_ERROR ( 500 , "出现错误" ) , USERNAME_EXIST ( 501 , "用户名已存在" ) , PHONE_NUMBER_EXIST ( 502 , "手机号已存在" ) , EMAIL_EXIST ( 503 , "邮箱已存在" ) , REQUIRE_USERNAME ( 504 , "必需填写用户名" ) , CONTENT_NOT_NULL ( 506 , "评论内容不能为空" ) , FILE_TYPE_ERROR ( 507 , "文件类型错误,请上传png文件" ) , USERNAME_NOT_NULL ( 508 , "用户名不能为空" ) , NICKNAME_NOT_NULL ( 509 , "昵称不能为空" ) , PASSWORD_NOT_NULL ( 510 , "密码不能为空" ) , EMAIL_NOT_NULL ( 511 , "邮箱不能为空" ) , NICKNAME_EXIST ( 512 , "昵称已存在" ) , LOGIN_ERROR ( 505 , "用户名或密码错误" ) ; int code; String msg; AppHttpCodeEnum ( int code, String errorMessage) { this . code = code; this . msg = errorMessage; } public int getCode ( ) { return code; } public String getMsg ( ) { return msg; }
}
2、在实体包中
package com. zhw. domain ; import com. fasterxml. jackson. annotation. JsonInclude ;
import com. zhw. enums. AppHttpCodeEnum ;
import java. io. Serializable ; @JsonInclude ( JsonInclude. Include . NON_NULL )
public class ResponseResult < T > implements Serializable { private Integer code; private String msg; private T data; public ResponseResult ( ) { this . code = AppHttpCodeEnum . SUCCESS . getCode ( ) ; this . msg = AppHttpCodeEnum . SUCCESS . getMsg ( ) ; } public ResponseResult ( Integer code, T data) { this . code = code; this . data = data; } public ResponseResult ( Integer code, String msg, T data) { this . code = code; this . msg = msg; this . data = data; } public ResponseResult ( Integer code, String msg) { this . code = code; this . msg = msg; } public static ResponseResult errorResult ( int code, String msg) { ResponseResult result = new ResponseResult ( ) ; return result. error ( code, msg) ; } public static ResponseResult okResult ( ) { ResponseResult result = new ResponseResult ( ) ; return result; } public static ResponseResult okResult ( int code, String msg) { ResponseResult result = new ResponseResult ( ) ; return result. ok ( code, null , msg) ; } public static ResponseResult okResult ( Object data) { ResponseResult result = setAppHttpCodeEnum ( AppHttpCodeEnum . SUCCESS , AppHttpCodeEnum . SUCCESS . getMsg ( ) ) ; if ( data != null ) { result. setData ( data) ; } return result; } public static ResponseResult errorResult ( AppHttpCodeEnum enums) { return setAppHttpCodeEnum ( enums, enums. getMsg ( ) ) ; } public static ResponseResult errorResult ( AppHttpCodeEnum enums, String msg) { return setAppHttpCodeEnum ( enums, msg) ; } public static ResponseResult setAppHttpCodeEnum ( AppHttpCodeEnum enums) { return okResult ( enums. getCode ( ) , enums. getMsg ( ) ) ; } private static ResponseResult setAppHttpCodeEnum ( AppHttpCodeEnum enums, String msg) { return okResult ( enums. getCode ( ) , msg) ; } public ResponseResult < ? > error ( Integer code, String msg) { this . code = code; this . msg = msg; return this ; } public ResponseResult < ? > ok ( Integer code, T data) { this . code = code; this . data = data; return this ; } public ResponseResult < ? > ok ( Integer code, T data, String msg) { this . code = code; this . data = data; this . msg = msg; return this ; } public ResponseResult < ? > ok ( T data) { this . data = data; return this ; } public Integer getCode ( ) { return code; } public void setCode ( Integer code) { this . code = code; } public String getMsg ( ) { return msg; } public void setMsg ( String msg) { this . msg = msg; } public T getData ( ) { return data; } public void setData ( T data) { this . data = data; }
}