用例:帖子过滤项目。
摘要:帖子将按标签和类别进行过滤。
在这种情况下,我通过端点返回过滤器项目。回复如下。
问题:Android/iOS 开发者不同意此回应。因为如果我返回关键(标签/类别)明智的回应,他们 需要创建 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"
}
为什么不设计API来进行过滤呢?我知道数据不是太多,所以你不会想要这样做,但如果是这种情况,上述任何实现都很好,是的,它们是正确的,他们将需要为每个新的过滤器类型提供额外的类。