赞
踩
记录Restful Api 自定义统一返回值方式!
以下为示例代码:
- package *.*.*;
-
- import java.util.ArrayList;
- import java.util.List;
-
- /**
- * API 统一返回状态码
- * Created by ws on 19/4/23.
- */
- public enum ResultCode {
-
- /* 成功状态码 */
- SUCCESS(1, "成功"),
-
- /* 参数错误:10001-19999 */
- PARAM_IS_INVALID(10001, "参数无效"),
- PARAM_IS_BLANK(10002, "参数为空"),
- PARAM_TYPE_BIND_ERROR(10003, "参数类型错误"),
- PARAM_NOT_COMPLETE(10004, "参数缺失"),
-
- /* 用户错误:20001-29999*/
- USER_NOT_LOGGED_IN(20001, "用户未登录"),
- USER_LOGIN_ERROR(20002, "账号不存在或密码错误"),
- USER_ACCOUNT_FORBIDDEN(20003, "账号已被禁用"),
- USER_NOT_EXIST(20004, "用户不存在"),
- USER_HAS_EXISTED(20005, "用户已存在"),
-
- /* 业务错误:30001-39999 */
- SPECIFIED_QUESTIONED_USER_NOT_EXIST(30001, "某业务出现问题"),
-
- /* 系统错误:40001-49999 */
- SYSTEM_INNER_ERROR(40001, "系统繁忙,请稍后重试"),
-
- /* 数据错误:50001-599999 */
- RESULE_DATA_NONE(50001, "数据未找到"),
- DATA_IS_WRONG(50002, "数据有误"),
- DATA_ALREADY_EXISTED(50003, "数据已存在"),
- DATA_HAS_BEEN_DELETED(50004,"数据已被删除"),
-
- /* 接口错误:60001-69999 */
- INTERFACE_INNER_INVOKE_ERROR(60001, "内部系统接口调用异常"),
- INTERFACE_OUTTER_INVOKE_ERROR(60002, "外部系统接口调用异常"),
- INTERFACE_FORBID_VISIT(60003, "该接口禁止访问"),
- INTERFACE_ADDRESS_INVALID(60004, "接口地址无效"),
- INTERFACE_REQUEST_TIMEOUT(60005, "接口请求超时"),
- INTERFACE_EXCEED_LOAD(60006, "接口负载过高"),
-
- /* 权限错误:70001-79999 */
- PERMISSION_NO_ACCESS(70001, "无访问权限");
-
- private Integer code;
-
- private String message;
-
- ResultCode(Integer code, String message) {
- this.code = code;
- this.message = message;
- }
-
- public Integer code() {
- return this.code;
- }
-
- public String message() {
- return this.message;
- }
-
- public static String getMessage(String name) {
- for (ResultCode item : ResultCode.values()) {
- if (item.name().equals(name)) {
- return item.message;
- }
- }
- return name;
- }
-
- public static Integer getCode(String name) {
- for (ResultCode item : ResultCode.values()) {
- if (item.name().equals(name)) {
- return item.code;
- }
- }
- return null;
- }
-
- @Override
- public String toString() {
- return this.name();
- }
-
- //校验重复的code值
- public static void main(String[] args) {
- ResultCode[] ApiResultCodes = ResultCode.values();
- List<Integer> codeList = new ArrayList<>();
- for (ResultCode ApiResultCode : ApiResultCodes) {
- if (codeList.contains(ApiResultCode.code)) {
- System.out.println(ApiResultCode.code);
- } else {
- codeList.add(ApiResultCode.code());
- }
- }
- }
- }
- package *.*.*;
-
-
- import java.io.Serializable;
-
- /**
- * API统一返回值类
- * Created by ws on 19/4/23.
- */
- public class ResultMessage implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private Integer code;
-
- private String msg;
-
- private Object data;
-
- public ResultMessage() {}
-
- public ResultMessage(Integer code, String msg) {
- this.code = code;
- this.msg = msg;
- }
-
- public static ResultMessage success() {
- ResultMessage result = new ResultMessage();
- result.setResultCode(ResultCode.SUCCESS);
- return result;
- }
-
- public static ResultMessage success(Object data) {
- ResultMessage result = new ResultMessage();
- result.setResultCode(ResultCode.SUCCESS);
- result.setData(data);
- return result;
- }
-
- public static ResultMessage failure(ResultCode resultCode) {
- ResultMessage result = new ResultMessage();
- result.setResultCode(resultCode);
- return result;
- }
-
- public static ResultMessage failure(ResultCode resultCode, Object data) {
- ResultMessage result = new ResultMessage();
- result.setResultCode(resultCode);
- result.setData(data);
- return result;
- }
-
- public void setResultCode(ResultCode code) {
- this.code = code.code();
- this.msg = code.message();
- }
-
- 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 Object getData() {
- return data;
- }
-
- public void setData(Object data) {
- this.data = data;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。