在开发过程中,后台操作业务逻辑之后需要将相关数据返回到接口,为了确保接口参数的规范性,将相关数据封装到某个公共对象中,具体如下:
1、首先需要创建一个枚举类,主要是做一些常用返回信息的简单封装
public enum Flag{ /** * 成功 */ SUCCESS(200, "成功!"), /** * 失败 */ FAIL(-1, "失败"), /** * 保存成功 */ SAVE_SUCCES(200, "保存成功!"), /** * 保存失败 */ SAVE_FAIL (-1,"保存失败!"), /** * 修改成功 */ UPDATE_SUCCES(200,"修改成功!"), /** * 修改失败 */ UPDATE_FAIL(-1,"修改失败!"), /** * 查询成功 */ PAGE_SUCESS(200,"查询成功!"), /** * 查询失败 */ PAGE_FAIL(-1,"查询失败!"), /** * 无数据 */ PAGE_NULL(200,"无数据"), /** * 删除成功 */ DELETE_SUCCESS(200,"刪除成功!"), /** * 刪除失败 */ DELETE_FAIL(-1,"删除失败!"), /** * 全局异常提示语 */ RETURN_EXCEPTION(0000,"服务器开小差了,请联系客服或管理人员!"), /** * 参数为空 */ EMPTY(-2, "参数为空!"); /** * 返回 编码 */ @Getter private Integer returnCode; /** * 返回消息提示 */ @Getter private String msg ; Flag(Integer returnCode, String msg) { this.returnCode = returnCode; this.msg = msg; }
当然也可以补充一些信息或者参数!
2、再将封装对方对象的公共类,将枚举中的一些信息对应输出
@Getter @Setter public class ReturnResult implements Serializable { private static final long serialVersionUID = -8726688102126166457L; /** * 返回编码 */ private Integer returnCode; /** * 返回消息提示 */ private String msg; /** * 所有对象 */ private Object object; public ReturnResult() { this.returnCode = Flag.FAIL.getReturnCode(); this.msg = Flag.FAIL.getMsg(); } public ReturnResult returnRes(Flag returnResult) { returnPro(returnResult); return this; } public ReturnResult returnRes(Flag returnResult ,Object o) { returnPro(returnResult); this.object = o; return this; } public ReturnResult returnRes(Integer returnCode,String msg ,Object o) { this.returnCode = returnCode; this.msg = msg; this.object = o; return this; } private void returnPro(Flag returnResult) { this.returnCode = returnResult.getReturnCode(); this.msg = returnResult.getMsg(); }
以上是本人一般去封装的形式,或许需要添加时间、令牌等,还可以考虑更 抽象 对象的方式去做!具体因地制宜去考虑!