首页 > 学院 > 开发设计 > 正文

统一返回值

2019-11-08 02:48:08
字体:
来源:转载
供稿:网友

开发中可能返回各种各样的值, 如果我们以json格式作为返回值的格式时, 将返回值统一后便于开发。 

1. 统一一个返回值为Result, Result继承hashMap

2. Result装填三个值, err_no:错误号, 0表示调用成功,前台可根据该值做处理; err_info:错误信息, 提示给用户,让用户知道操作结果;  data:返回的数据

3. err_no、err_info、data可以看做是Result的三个属性, 不应该在方法中通过put操作设置值。 应该为其提供set方法。

package com.changez.sm.base.result;import java.util.HashMap;import java.util.Map;/** * @desc: 当且仅当err_no为0, 表示数据调用成功;  * @auth: zona * 2017年2月18日 下午1:55:35 */public class Result extends HashMap{	PRivate int err_no;	private String err_info;	public Result () { }		/**	 * 设置错误号,错误信息	 * @param err_no	 * @param err_info	 */	public Result(int err_no, String err_info) {		put("err_no", err_no);		put("err_info", err_info);	}		/**	 * 	 * @desc: 设置错误号, controller调用成功时可以使用该方式。 等同于setErroNo方法	 * @auth: zona	 * 2017年2月19日 下午1:33:26	 */	public void success() {		put("err_no", 0);	}		/**	 * 	 * @desc: 设置错误号	 * @auth: zona	 * 2017年2月19日 下午1:33:10 	 * @param err_no	 */	public void setErrNo(int err_no) {		put("err_no", err_no);	}		/**	 * 	 * @desc: 设置错误信息	 * @auth: zona	 * 2017年2月19日 下午1:32:58 	 * @param err_info	 */	public void setErrInfo(String err_info) {		put("err_info", err_info);	}	/**	 * 	 * @desc: 设置数据	 * @auth: zona	 * 2017年2月19日 下午1:32:33 	 * @param data	 */	public void setData(Map data) {		put("data", data);	}		//---> 调用方式	public static void main(String[] args) {				test();	}		/**	 * 	 * @desc: 调用方式	 * @auth: zona	 * 2017年2月19日 下午1:52:27 	 * @return	 */	@SuppressWarnings({ "unchecked", "unused", "rawtypes" })	public static Object test() {		Result result = new Result();		Map retMap = new HashMap(); // 封装数据		Object obj = null; // 获取数据1		if(false) { // 检测数据,若数据是错误的			retMap.put("user", obj);			result.setErrNo(1);			result.setErrInfo("错误信息。。。。");			result.setData(retMap);			return result;		}				Object obj2 = null; // 获取数据2		if(false) { // 检测数据,若数据是错误的			retMap.put("user", obj2);			result.setErrNo(1);			result.setErrInfo("错误信息。。。。");			result.setData(retMap);			return result;		}		// 流程都是正确的,封装返回数据		retMap.put("user", obj);		result.success();		result.setData(retMap);		return result;	}	}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表