`

web开发定义统一返回值对象

阅读更多

     定义结果码对象,按需要增加

 

 

/**  
 * 结果码定义  
 */  
public enum ResponseEnum {   
  
    SUCCESS("00", "请求成功!"),   
    FAILURE("01", "网络繁忙,请稍后重试!"),   
    NUMFAILURE("02","参数不能为空或不是正整数或不能为零"),   
    ACCOUNTNOTEXIST("03","客户不存在"),   
    OTP_VERIFY_FAIL("04","验证码验证失败"),   
    OPEN_FAIL("05","开通旺财账户失败"),   
    ACCOUNT_HAS_REGISTERED("06","账户已注册"),   
    CALL_FAILURE("07","调用报错!"),   
    RESULT_NULL("08","无返回数据!");   
  
    private String code;   
  
    private String message;   
  
    // 构造方法   
    private ResponseEnum(String code, String message) {   
        this.code = code;   
        this.message = message;   
    }   
  
    public String getCode() {   
        return code;   
    }   
  
    public void setCode(String code) {   
        this.code = code;   
    }   
  
    public String getMessage() {   
        return message;   
    }   
  
    public void setMessage(String message) {   
        this.message = message;   
    }   
  
    public static ResponseEnum getResponseEnumByCode(String code) {   
        for (ResponseEnum responseEnum : ResponseEnum.values()) {   
            if (responseEnum.getCode().equals(code)) {   
                return responseEnum;   
            }   
        }   
        return ResponseEnum.SUCCESS;   
    }   
  
}  

  

 

输出对象定义

import java.util.HashMap;
import java.util.Map;


/**
 * 返回值统一对象
 */
public class ResponseData {

	public static final String CODE_KEY = "CODE";
	public static final String MSG_KEY = "MSG";
	public static final String DATA_KEY = "DATA";
	
	public static Map<String, Object> buildResponse(ResponseEnum responseEnum) {
		return buildResponse(responseEnum, null);
	}

	public static Map<String, Object> buildResponse(ResponseEnum responseEnum, Object data) {
		Map<String, Object> result = buildResponse(responseEnum.getCode(), responseEnum.getMessage());
		if (data != null) {
			result.put(DATA_KEY, data);
		}
		return result;
	}

	public static Map<String, Object> buildSuccessResponse(Object data) {
		return buildResponse(ResponseEnum.SUCCESS, data);
	}

	public static Map<String, Object> buildSuccessResponse() {
		return buildSuccessResponse(null);
	}

	public static Map<String, Object> buildFailResponseWithMsg(String msg) {
		return buildResponse(ResponseEnum.FAILURE.getCode(), msg);
	}

	public static Map<String, Object> buildFailResponse() {
		return buildResponse(ResponseEnum.FAILURE);
	}

	public static Map<String, Object> buildResponse(String code, String msg) {
		final Map<String, Object> result = new HashMap<String, Object>();
		result.put(CODE_KEY, code);
		result.put(MSG_KEY, msg);
		return result;
	}
}

 

0
1
分享到:
评论
4 楼 卢水发 2016-07-26  
感谢,已修复!
3 楼 knight_black_bob 2016-07-26  
mdzwmyy 写道
getResponseEnumByCode方法中,传入的是int转换成String后和你定义的code肯定是都不匹配的,因为你定义的code前面有0

2 楼 mdzwmyy 2016-07-25  
getResponseEnumByCode方法中,传入的是int转换成String后和你定义的code肯定是都不匹配的,因为你定义的code前面有0
1 楼 masuweng 2016-07-25  

相关推荐

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能...附录B 在Spring中开发Web Service

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能...附录B 在Spring中开发Web Service

    spring.net中文手册在线版

    4.2.2.对象定义 4.2.3.对象的创建 4.2.3.1.通过构造器创建对象 4.2.3.2.通过静态工厂方法创建对象 4.2.3.3.通过实例工厂方法创建对象 4.2.4.泛型类的对象创建 4.2.4.1.通过构造器创建泛型类的对象 4.2.4.2....

    客户端统一验证JavaScript函数库及示例源码

    Web应用如此广泛,其中客户端与服务端交互时所消耗的资源及响应时间,频繁的刷新页面使得人机交互体验极为不好,而对每个页面使用客户端处理技术无疑又加大项目开发周期,脚本调试及修改维护的工作量将占用大量的...

    Visual C++实践与提高-COM和COM+篇『PDF』

    3.2.5 HRESULT返回值 3.2.6 COM与注册表 3.3 COM组件 3.3.1 实现类厂对象 3.3.2 类厂对象的创建 3.3.3 实现自动注册 3.3.4 实现自动卸载 3.4 COM客户 3.4.1 COM对象创建函数 3.4.1.1 CoGetClassObject 3.4.1.2 ...

    java微信公众号MVC开发框架

    jwx是开源的java公众号开发MVC框架,基于spring配置文件和微信消息或事件注解,通过微信上下文处理一个或多个微信公众号服务请求。目的主要有两个,其一生封装微信请求xml消息为java实体对象,将返回对象转换为xml...

    java-servlet-api.doc

    ServletContext接口定义了一个Servlet环境对象,这个对象定义了一个在Servlet引擎上的Servlet的视图。通过使用这个对象,Servlet可以记录事件、得到资源并得到来自Servlet引擎的类(例如RequestDispatcher对象)。一...

    Python核心编程第二版(ok)

     5.2.4 整型和长整型的统一   5.3 双精度浮点型   5.4 复数   5.5 操作符   5.5.1 混合模式操作符   5.5.2 标准类型操作符   5.5.3 算术操作符   5.5.4 位操作符(只适用于整型)   5.6 ...

    C#微软培训资料

    超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以...

    Python核心编程第二版

     5.2.4 整型和长整型的统一   5.3 双精度浮点型   5.4 复数   5.5 操作符   5.5.1 混合模式操作符   5.5.2 标准类型操作符   5.5.3 算术操作符   5.5.4 *位操作符(只适用于整型)   5.6 ...

    新版Android开发教程.rar

    � MVC 和 Web APP 架构 Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的...

    JavaScript笔记

    也是一种广泛应用于客户端Web开发的脚本语言) 基于对象:网页中的一切元素都是假象!不需要new,即可直接使用 事件驱动:JavaScript的执行都是由事件引发 解释执行:先读到的先执行,后读到的会替代先读的 可以...

    DWR.xml配置文件说明书(含源码)

    String类型和Date同样预先定义了Converter,这些converter都没有办法进行改变的,所有的String,Date和数值类型都统一采用默认的converter. 2.1 Array Converters Array的配置项目没有上面介绍的那么直观,默认情况下DWR...

    freemarker总结

    方法变量通常是基于给出的参数计算值在数据模型中定义。 6、 用户自定义FTL指令:宏和变换器 7、 节点 节点变量表示为树型结构中的一个节点,通常在XML处理中使用。 在模板里对sequences和hashes初始化 ...

    C#编程经验技巧宝典

    6 &lt;br&gt;0014 如何锁定窗体中的控件 6 &lt;br&gt;0015 统一窗体中控件的字体设置 7 &lt;br&gt;0016 通过“格式”菜单布局窗体 7 &lt;br&gt;0017 起始页中的“Visual Studio开发人员新闻” 7 &lt;br&gt;1.3 MSDN帮助的...

Global site tag (gtag.js) - Google Analytics