一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值

Posted 心静禅定ing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值相关的知识,希望对你有一定的参考价值。

  • 定义一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值,其中,元数据表示操作是否成功与返回值消息等,返回值对应服务端方法所返回的数据。
public class Response {

    private static final String OK = "ok";
    private static final String ERROR = "error";

    private Meta meta;
    private Object data;

    public Response success() {
        this.meta = new Meta(true, OK);
        return this;
    }

    public Response success(Object data) {
        this.meta = new Meta(true, OK);
        this.data = data;
        return this;
    }

    public Response failure() {
        this.meta = new Meta(false, ERROR);
        return this;
    }

    public Response failure(String message) {
        this.meta = new Meta(false, message);
        return this;
    }

    public Meta getMeta() {
        return meta;
    }

    public Object getData() {
        return data;
    }

    public class Meta {

        private boolean success;
        private String message;

        public Meta(boolean success) {
            this.success = success;
        }

        public Meta(boolean success, String message) {
            this.success = success;
            this.message = message;
        }

        public boolean isSuccess() {
            return success;
        }

        public String getMessage() {
            return message;
        }
    }
}

 

以上Response类包括两类通用返回值消息:ok与error,还包括两个常用的操作方法:success( )与failure( ),通过一个内部类来展现元数据结构,我们在下文中多次会使用该Response类。

  • 该JSON响应结构如下:
{
    "meta": {
        "success": true,
        "message": "ok"
    },
    "data": ...
}

 

以上是关于一个相对通用的JSON响应结构,其中包含两部分:元数据与返回值的主要内容,如果未能解决你的问题,请参考以下文章

将大型响应 Json 作为多部分数据或多个部分发送

动手打造深度学习框架:基本数据结构与算法

Laravel/Eloquent 规范化 JSON 响应的关系?

从 Swift 中的 Json 响应中填充 TableSection

解析 http-multipart 响应

共享 tsconfig.json 和相对路径