程序那些事

逆水行舟,不进则退。

接口返回消息封装类

2019.04.08 | 85阅读 | 0条评论 | java

package com.kd.modelapi.common;

import java.io.PrintWriter;
import java.io.StringWriter;

import com.kd.enu.ResultEnum;

/**
 * 通用的对外返回结果字段
 */
public class ResponseVo {

	private Integer status = ResultEnum.SUCCESS.getStatus(); // 返回状态 整型
	private String result = ResultEnum.SUCCESS.getResult(); // 返回状态 字符串型
															// 只有success,error
	private String info; // 会信息,程序员自己抛出的异常信息
	private Object data; // 返回数据 object
	private Integer errorCode; // 错误码
	private String stackInfo;// 异常信息

	public ResponseVo() {
	}

	public ResponseVo(Integer status, String result, String info, Object data, Integer errorCode, String stackInfo) {
		super();
		this.status = status;
		this.result = result;
		this.info = info;
		this.data = data;
		this.errorCode = errorCode;
		this.stackInfo = stackInfo;
	}

	public static ResponseVo success(){
    	return new ResponseVo(ResultEnum.SUCCESS.getStatus(), ResultEnum.SUCCESS.getResult(), ResultEnum.SUCCESS.getInfo(),null, null, null);
    }
	
	public static ResponseVo success(String info){
    	return new ResponseVo(ResultEnum.SUCCESS.getStatus(), ResultEnum.SUCCESS.getResult(), info,null, null, null);
    }
	
	public static ResponseVo success(String info,Object data){
    	return new ResponseVo(ResultEnum.SUCCESS.getStatus(), ResultEnum.SUCCESS.getResult(), info,data, null, null);
    }
	
	public static ResponseVo error(){
    	return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), ResultEnum.ERROR.getInfo(),null, null, null);
    }
	
	public static ResponseVo error(String info){
    	return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), info,null, null, null);
    }
	
	public static ResponseVo error(String info, String stackInfo){
    	return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), info,null,null, stackInfo);
    }
	
	public static ResponseVo error(String info,Integer errorCode, String stackInfo){
    	return new ResponseVo(ResultEnum.ERROR.getStatus(), ResultEnum.ERROR.getResult(), info,null, errorCode, stackInfo);
    }
	
	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	// @MethodAnnotation(description = "success、error")
	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

	// @MethodAnnotation(description = "异常信息")
	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}

	// @MethodAnnotation(description = "返回错误码")
	public Integer getErrorCode() {
		return errorCode;
	}

	public void setErrorCode(Integer errorCode) {
		this.errorCode = errorCode;
	}

	public void setInfoStatus(String info, Integer state) {
		this.info = info;
		this.status = state;
		if(ResultEnum.SUCCESS.getStatus().equals(state)){
			this.result = "success";
		}else{
			this.result = "error";
		}
	}

	public void setInfoStatus(Exception ex) {
		StringWriter sw = new StringWriter();
		PrintWriter pw = new PrintWriter(sw);
		ex.printStackTrace(pw);
		this.info = sw.toString();
		this.status = ResultEnum.ERROR.getStatus();
		this.result = "error";
	}

	public ResponseVo setInfoStatus(String info, Integer errorCode, Integer status) {
		this.errorCode = errorCode;
		setInfoStatus(info, status);
		return this;
	}

	public String getStackInfo() {
		return stackInfo;
	}

	public void setStackInfo(String stackInfo) {
		this.stackInfo = stackInfo;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("ResponseVo [status=");
		builder.append(status);
		builder.append(", result=");
		builder.append(result);
		builder.append(", info=");
		builder.append(info);
		builder.append(", data=");
		builder.append(data);
		builder.append(", errorCode=");
		builder.append(errorCode);
		builder.append(", stackInfo=");
		builder.append(stackInfo);
		builder.append("]");
		return builder.toString();
	}
}


返回码枚举

package com.kd.enu;

/**
 * 
* <p>Title: ResultEnum</p>  

* <p>Description:返回结果码枚举 </p>  

* @author mengjinyuan  

* @date 2019年3月14日
 */
public enum ResultEnum {
	
	SUCCESS(0,"成功","success"),
	ERROR(-1,"错误","error"),
	VERIFY_ERROR(3,"错误","error"),
	CUSTOMER_ALEADAY(3,"错误","error");
	
	private Integer status;
	private String info;
	private String result;
	ResultEnum(Integer status,String info,String result){
		this.status=status;
		this.info=info;
		this.result=result;
	}
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getInfo() {
		return info;
	}

	public void setInfo(String info) {
		this.info = info;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}
}

个人感觉这样设置比较的规范

赞 (

发表评论

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

召唤伊斯特瓦尔