将API响应返回到Web / Android / iOS时最好的方法是什么?

时间:2018-10-25 15:03:27

标签: php android ios api response

用例:发布过滤条件。

摘要:帖子将按标签和类别进行过滤。

在这种情况下,我通过端点返回过滤器项。响应如下。

问题:Android / iOS开发人员不同意此回复。因为如果我返回KEY(tags / categories)明智的回应,他们            需要创建2个额外的CLASS,这是静态绑定的代价。同样为了将来,如果我添加另一个过滤器项,如(按等级),则需要再次执行。

我的回复:

{
    "status" : true,
    "code"   : 200,
    "data"   : {
        "tags" : {
            "filterTitle" : "Search By TAGS",
            "lists"       : [
                {
                    "tagId" : 1,
                    "tagName" : "AWS"
                },
                {
                    "tagId" : 2,
                    "tagName" : "PHP"
                },
                {
                    "tagId" : 3,
                    "tagName" : "ASP"
                }
            ]
        },
        "categories" : {
            "filterTitle" : "Search By Category",
            "lists"       : [
                {
                    "catId"   : 10,
                    "catName" : "Web Services"
                },
                {
                    "catId"   : 20,
                    "catName" : "Programming"
                },
                {
                    "catId"   : 30,
                    "catName" : "Tools"
                }
            ]
        }
    },
    "message" : "successfull"
}

需要Android / iOS开发人员:

{
    "status" : true,
    "code"   : 200,
    "data"   : [
        {
            "filterTitle" : "Search By TAGS",
            "lists"       : [
                {
                    "tagId" : 1,
                    "tagName" : "AWS"
                },
                {
                    "tagId" : 2,
                    "tagName" : "PHP"
                },
                {
                    "tagId" : 3,
                    "tagName" : "ASP"
                }
            ]
        },
        {
            "filterTitle" : "Search By Category",
            "lists"       : [
                {
                    "catId"   : 10,
                    "catName" : "Web Services"
                },
                {
                    "catId"   : 20,
                    "catName" : "Programming"
                },
                {
                    "catId"   : 30,
                    "catName" : "Tools"
                }
            ]
        }
    ],
    "message" : "successfull"
}

1 个答案:

答案 0 :(得分:0)

为什么不设计API进行过滤。我知道数据不是太多,所以您不希望这样做,但是如果是这种情况,上述任何一种实现都可以,并且是的,它们是正确的,每种新的过滤器类型都需要额外的类。