良心巨作在职架构师带你玩全栈(4)自定义返回格式[亲测有效]

(36) 2023-07-30 15:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说良心巨作在职架构师带你玩全栈(4)自定义返回格式[亲测有效],希望能够帮助你!!!。

一、编写自定义返回封装类

package com.yiboliu.core.util;


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

/**
 * 响应操作结果
 * 
 * <pre>
 *  {
 *      errno: 错误码,
 *      errmsg:错误消息,
 *      data:  响应数据
 *  }
 * </pre>
 *
 * <p>
 * 错误码:
 * <ul>
 * <li>0,成功;
 * <li>-1,失败;
 * @author:        gz.fangj
 */
public class ResponseUtil {
	//成功
	private static final int ok = 0;
	//失败
	private static final int fail = -1;
	
	public static Object ok() {
		Map<String, Object> obj = new HashMap<String, Object>();
		obj.put("errno", ok);
		obj.put("errmsg", "成功");
		return obj;
	}

	public static Object ok(Object data) {
		Map<String, Object> obj = new HashMap<String, Object>();
		obj.put("errno", ok);
		obj.put("errmsg", "成功");
		obj.put("data", data);
		return obj;
	}

	public static Object ok(String errmsg, Object data) {
		Map<String, Object> obj = new HashMap<String, Object>();
		obj.put("errno", ok);
		obj.put("errmsg", errmsg);
		obj.put("data", data);
		return obj;
	}

	public static Object fail() {
		Map<String, Object> obj = new HashMap<String, Object>();
		obj.put("errno", fail);
		obj.put("errmsg", "错误");
		return obj;
	}

	public static Object fail(int errno, String errmsg) {
		Map<String, Object> obj = new HashMap<String, Object>();
		obj.put("errno", errno);
		obj.put("errmsg", errmsg);
		return obj;
	}

	public static Object badArgument() {
		return fail(401, "参数不对");
	}

	public static Object badArgumentValue() {
		return fail(402, "参数值不对");
	}

	public static Object unlogin() {
		return fail(501, "请登录");
	}

	public static Object serious() {
		return fail(502, "系统内部错误");
	}

	public static Object unsupport() {
		return fail(503, "业务不支持");
	}

	public static Object updatedDateExpired() {
		return fail(504, "更新数据已经失效");
	}

	public static Object updatedDataFailed() {
		return fail(505, "更新数据失败");
	}

	public static Object unauthz() {
		return fail(506, "无操作权限");
	}

}

二、在controller中调用

	/**
	 * 格式化返回
	 */
	@RequestMapping("/userResp")
	public Object userResp() {
		return ResponseUtil.ok(sys.getName());
	}

三、postman中查看结果

{
    "errno": 0,
    "data": "bookAdmin-qa",
    "errmsg": "成功"
}

上一篇

已是最后文章

下一篇

已是最新文章

发表回复