Model层的参数自适应转换

对于model层,如果返回的结果集不确定,有可能是一个对象,也有可能是一个Boolean这种类型,那么可以将model写成R的形式

public class ResultDTO<R> implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -8276209086617803215L;
	private Boolean isSuccess;
	private R DTO;
	private String desc;
	private Integer returnCode;
	private Paginator paginator;
	
	public ResultDTO(){
		this.isSuccess = Boolean.FALSE;
		this.paginator = new Paginator();
	}

	public Boolean getIsSuccess() {
		return isSuccess;
	}

	public void setIsSuccess(Boolean isSuccess) {
		this.isSuccess = isSuccess;
	}


	public R getDTO() {
		return DTO;
	}

	public void setDTO(R dTO) {
		DTO = dTO;
	}

	public String getDesc() {
		return desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	public Integer getReturnCode() {
		return returnCode;
	}

	public void setReturnCode(Integer returnCode) {
		this.returnCode = returnCode;
	}

	public Paginator getPaginator() {
		return paginator;
	}

	public void setPaginator(Paginator paginator) {
		this.paginator = paginator;
	}
	
    public static <T> ResultDTO<T> buildErrorResultDTO(ResultDTO<T> resultDTO, String msg) {
        resultDTO.setIsSuccess(false);
        resultDTO.setDTO(null);
        resultDTO.setDesc(msg);
        return resultDTO;
    }
}
调用的时候使用如下方式调用:

ResultDTO<Boolean> resultDTO = new ResultDTO<Boolean>();

上面的形式就说明DTO的形式为R这里也就是Boolean


另外,如果对于返回两个参数都不确定,那么也可以采用相似的方式

public class TwoTuple<A, B> {
	private A a;
	private B b;
	
	public TwoTuple(){
		super();
	}
	
	public TwoTuple(A a, B b){
		this.a = a;
		this.b = b;
	}

	public A getA() {
		return a;
	}

	public void setA(A a) {
		this.a = a;
	}

	public B getB() {
		return b;
	}

	public void setB(B b) {
		this.b = b;
	}

	@Override
	public String toString() {
		return "TwoTuple [a=" + a + ", b=" + b + "]";
	}
}
使用方式:

TwoTuple<Integer, List<String>> tuple = new TwoTuple<Integer, List<String>>();
List<String> idResultList = new ArrayList<String>();
tuple.setA(0);
tuple.setB(idResultList);


@NoneResultDecrator
这个RPC的注解,如果加上,那么就只返回自己定义的resultModel类型格式,如果加上,就会经过RPC渲染

不加的:

加的:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值