package com.kd.modelapi.common;\r\n\r\nimport java.io.PrintWriter;\r\nimport java.io.StringWriter;\r\n\r\nimport com.kd.enu.ResultEnum;\r\n\r\n/**\r\n * 通用的对外返回结果字段\r\n */\r\npublic class ResponseVo {\r\n\r\n private Integer status = ResultEnum.SUCCESS.getStatus(); // 返回状态 整型\r\n private String result = ResultEnum.SUCCESS.getResult(); // 返回状态 字符串型\r\n // 只有success,error\r\n private String info; // 会信息,程序员自己抛出的异常信息\r\n private Object data; // 返回数据 object\r\n private Integer errorCode; // 错误码\r\n private String stackInfo;// 异常信息\r\n\r\n public ResponseVo() {\r\n }\r\n\r\n public ResponseVo(Integer status, String result, String info, Object data, Integer errorCode, String stackInfo) {\r\n super();\r\n this.status = status;\r\n this.result = result;\r\n this.info = info;\r\n this.data = data;\r\n this.errorCode = errorCode;\r\n this.stackInfo = stackInfo;\r\n }\r\n\r\n public static ResponseVo success(){\r\n return new ResponseVo(ResultEnum.SUCCESS.getStatus(), ResultEnum.SUCCESS.getResult(), ResultEnum.SUCCESS.getInfo(),null, null, null);\r\n }\r\n \r\n public static ResponseVo success(String info){\r\n return new ResponseVo(ResultEnum.SUCCESS.getStatus(), ResultEnum.SUCCESS.getResult(), info,null, null, null);\r\n }\r\n \r\n public static ResponseVo success(String info,Object data){\r\n return new ResponseVo(ResultEnum.SUCCESS.getStatus(), ResultEnum.SUCCESS.getResult(), info,data, null, null);\r\n }\r\n \r\n public static ResponseVo error(){\r\n return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), ResultEnum.ERROR.getInfo(),null, null, null);\r\n }\r\n \r\n public static ResponseVo error(String info){\r\n return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), info,null, null, null);\r\n }\r\n \r\n public static ResponseVo error(String info, String stackInfo){\r\n return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), info,null,null, stackInfo);\r\n }\r\n \r\n public static ResponseVo error(String info,Integer errorCode, String stackInfo){\r\n return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), info,null, errorCode, stackInfo);\r\n }\r\n \r\n public Object getData() {\r\n return data;\r\n }\r\n\r\n public void setData(Object data) {\r\n this.data = data;\r\n }\r\n\r\n public Integer getStatus() {\r\n return status;\r\n }\r\n\r\n public void setStatus(Integer status) {\r\n this.status = status;\r\n }\r\n\r\n // @MethodAnnotation(description = "success、error")\r\n public String getResult() {\r\n return result;\r\n }\r\n\r\n public void setResult(String result) {\r\n this.result = result;\r\n }\r\n\r\n // @MethodAnnotation(description = "异常信息")\r\n public String getInfo() {\r\n return info;\r\n }\r\n\r\n public void setInfo(String info) {\r\n this.info = info;\r\n }\r\n\r\n // @MethodAnnotation(description = "返回错误码")\r\n public Integer getErrorCode() {\r\n return errorCode;\r\n }\r\n\r\n public void setErrorCode(Integer errorCode) {\r\n this.errorCode = errorCode;\r\n }\r\n\r\n public void setInfoStatus(String info, Integer state) {\r\n this.info = info;\r\n this.status = state;\r\n if(ResultEnum.SUCCESS.getStatus().equals(state)){\r\n this.result = "success";\r\n }else{\r\n this.result = "error";\r\n }\r\n }\r\n\r\n public void setInfoStatus(Exception ex) {\r\n StringWriter sw = new StringWriter();\r\n PrintWriter pw = new PrintWriter(sw);\r\n ex.printStackTrace(pw);\r\n this.info = sw.toString();\r\n this.status = ResultEnum.ERROR.getStatus();\r\n this.result = "error";\r\n }\r\n\r\n public ResponseVo setInfoStatus(String info, Integer errorCode, Integer status) {\r\n this.errorCode = errorCode;\r\n setInfoStatus(info, status);\r\n return this;\r\n }\r\n\r\n public String getStackInfo() {\r\n return stackInfo;\r\n }\r\n\r\n public void setStackInfo(String stackInfo) {\r\n this.stackInfo = stackInfo;\r\n }\r\n\r\n @Override\r\n public String toString() {\r\n StringBuilder builder = new StringBuilder();\r\n builder.append("ResponseVo [status=");\r\n builder.append(status);\r\n builder.append(", result=");\r\n builder.append(result);\r\n builder.append(", info=");\r\n builder.append(info);\r\n builder.append(", data=");\r\n builder.append(data);\r\n builder.append(", errorCode=");\r\n builder.append(errorCode);\r\n builder.append(", stackInfo=");\r\n builder.append(stackInfo);\r\n builder.append("]");\r\n return builder.toString();\r\n }\r\n}
返回码枚举
package com.kd.enu;\r\n\r\n/**\r\n * \r\n* <p>Title: ResultEnum</p> \r\n\r\n* <p>Description:返回结果码枚举 </p> \r\n\r\n* @author mengjinyuan \r\n\r\n* @date 2019年3月14日\r\n */\r\npublic enum ResultEnum {\r\n \r\n SUCCESS(0,"成功","success"),\r\n ERROR(-1,"错误","error"),\r\n VERIFY_ERROR(3,"错误","error"),\r\n CUSTOMER_ALEADAY(3,"错误","error");\r\n \r\n private Integer status;\r\n private String info;\r\n private String result;\r\n ResultEnum(Integer status,String info,String result){\r\n this.status=status;\r\n this.info=info;\r\n this.result=result;\r\n }\r\n public Integer getStatus() {\r\n return status;\r\n }\r\n\r\n public void setStatus(Integer status) {\r\n this.status = status;\r\n }\r\n\r\n public String getInfo() {\r\n return info;\r\n }\r\n\r\n public void setInfo(String info) {\r\n this.info = info;\r\n }\r\n\r\n public String getResult() {\r\n return result;\r\n }\r\n\r\n public void setResult(String result) {\r\n this.result = result;\r\n }\r\n}
个人感觉这样设置比较的规范