返回对象result封装

本文介绍了一种统一的服务返回对象Result的封装方法,通过自定义Result类来封装响应状态、消息、数据等内容,并提供了JSON字符串生成方法,方便进行前后端交互。同时,通过示例展示了如何在实际业务中使用此类进行数据返回。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们调用服务返回的类型有String,List,Map,Bean,Int,Boolean等类型,可以统一成result对象返回,自带生成Json字符串方法,使用起来非常方便,代码如下:

import tf56.sofa.serializer.JsonGenerateUtil;

/**
* 返回对象Result封装
* @athor changmeng.liu
* @date 2014-7-25
* @version 1.0
* @update
*/
public class Result {
final String SUCCESS="success";
final String ERROR="error";
private String count="";
/** 响应数据 */
private Object data;
/** 响应分页 */
/** 响应状态 */
private Boolean status = true;
/** 响应消息 */
private String message;

public Result() {}

public Result(Object data) {
this.data = data;
}



public Result(String message, Boolean status) {
this.set(message, status);
}

public Result(String message, Boolean status,String count, Object data) {
this.set(message, status);
this.data = data;
this.count=count;
}



public void set(String message, Boolean status) {
this.status = status;
this.message = message;
this.count="";
this.data="";
}

public void set(String message, Boolean status,String count, Object data) {
this.status = status;
this.message = message;
this.data = data;
this.count=count;
}

public Boolean getStatus() {
return status;
}

public void setStatus(Boolean status) {
this.status = status;
this.message=this.status?"成功":"失败";
this.count="";
this.data="";
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public Object getData() {
return data;
}

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

public String getCommonJson(){
return JsonGenerateUtil.getCommonJson(status==true?SUCCESS:ERROR, message, count==null?"":count, data==null?"":data);
}

}


public class InvitationCodeServiceImpl implements InvitationCodeService {
@Autowired
private InvitationCodeDao invitationCodeDao;
@Autowired
private PartyService partyService;
protected Result result=new Result();
protected final Log logger = LogFactory.getLog(getClass());


/**
* @athor changmeng.liu
* @date 2014-7-15
* @version 1.0
* @function
* @param
* @update
*/
@Override
public Result getInvitationCodeByTypeAndId(Map map) {

String type=(String) map.get("type");
String fromid=(String) map.get("fromid");
if(StringUtils.isEmpty(type)){
this.result.set("类型不能为空", false);
logger.debug(this.result.getMessage());
return this.result;

}
if(StringUtils.isEmpty(fromid)){
this.result.set("来源ID不能为空", false);
logger.debug(this.result.getMessage());
return this.result;

}
if(!"小二".equals(type)&&!"会员".equals(type)){
this.result.set("类型不正确", false);
logger.debug(this.result.getMessage());
return this.result;
}
Map<String,Object> paramMap=new HashMap<String,Object>();
paramMap.put("type", type);
paramMap.put("fromid", fromid);
InvitationCode invitationCode=invitationCodeDao.selectByTypeAndId(paramMap);
if(invitationCode==null){
this.result.set("没有找到该用户的邀请码", true,"","");
logger.debug(this.result.getMessage());
return this.result;
}
this.result.set("成功", true, "1", invitationCode);
return this.result;
}
}

结合logger,我们可以返回更加清晰的日志信息,帮助我们准确定位出错代码块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值