栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java统一返回

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java统一返回

java统一返回

前言

在我们java平常的开发中,比较重要的一点就是对于接口的返回值的定义,因为基本大部分的api接口都需要一个统一的返回,这样调用方就比较好处理,逻辑也清晰,所以设计一个统一的返回就比较重要了

返回值的构成

我看了一些api也基本差不多,大致都有这么几种构成

code

code一般用来表示接口的调用情况,调用方可以根据code表判断这个接口的调用情况,
例如0 可以标识成功,1可以表示报错,2可以表示未登录,3可以表示没有权限…
自己定义规则就行

msg

msg表示提示信息
可以是成功的消息success 新增成功 删除成功
也可以是失败的原因,error 没有权限 参数错误等等

data

一些查询接口调用会有一个返回数据,用data来表示,工具类采用泛型

代码实现
  • 因为是工具方法,所有把所有的构造方法的私有化了,使用静态方法调用更方便
  • 使用lombok让代码更简洁@Data
  • 开启链式编程更方便@Accessors(chain = true)
import lombok.Data;
import lombok.experimental.Accessors;


@Data
@Accessors(chain = true)
public class Re {

    
    private int code;
	
	
    private String msg;
	
	
    private T data;
	
    private Re() {
    }

    private Re(T data) {
        this.data = data;
    }

    private Re(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    private Re(int code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
	
	// 没有返回数据,Re.ok()
    public static Re ok() {
        return new Re(0, "sucess");
    }
	
	// 有返回数据,Re.ok(data)
    public static  Re ok(T data) {
        return new Re(0, sucess, data);
    }
	// 只有提示信息,Re.ok("新增/修改成功")
    public static Re ok(String msg) {
        return new Re(0, msg);
    }
	// Re.error()
    public static Re error() {
        return new Re(1, "error");
    }
	// Re.error("请重试")
    public static Re error(String msg) {
        return new Re(1, msg);
    }
}
返回后的json

下面是几种返回的json数据展示

{
  "code": 0,
  "msg": "success",
  "data": null
}

{
  "code": 0,
  "msg": "添加成功",
  "data": null
}

{
  "code": 0,
  "msg": "success",
  "data": {"这是一条数据"}
}

{
  "code": 1001,
  "msg": "error",
  "data": null
}

{
  "code": 1001,
  "msg": "参数不正确",
  "data": null
}

结语

写的比较简单,基本使用差不多,如果有更为复杂的交互,在现有基础上可以继续升级

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872037.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号