举例:显示用户的 API /users
返回列表数量
{
"user_count": 42,
"users": [ ... ]
}
不返回列表数量
{
"users": [ ... ]
}
哪一种比较好?
1
crysislinux 2017-09-30 10:30:14 +08:00 via Android
如果支持 filter 的话,统一返回个 filteredTotal 和 Total 还是挺有用的
|
2
raofeng 2017-09-30 10:48:11 +08:00 1
我们用 Ruby On Rails 是这样搞的,在需要分页的地方,就需要同时返回总条数,总页数,每页显示条数。
在不需要显示分页的地方,就直接返回 users 好了,因为一般都是直接读取 users 的 size,就获得了 count 了 |
3
oh 2017-09-30 10:59:44 +08:00 via iPhone
这个 count 一般是指符合条件的 user 总数,而不是这个 user 数组的长度。比如做分页的时候要知道分几页。
|
4
6IbA2bj5ip3tK49j 2017-09-30 11:00:28 +08:00
我觉得没必要吧,前端拿到数据开始操作的时候,已经序列化好了。取长度就好了
你第二种也是多余,直接返回列表就好了。 |
5
gzlock 2017-09-30 11:02:40 +08:00 via Android
看业务需求的问题在 v2 也问不出什么结果
要用就放,不要用就不放,多大点事 |
6
hnbcinfo 2017-09-30 11:07:28 +08:00
分页的话加一个总长度字段有必要,但返回数据长度不用单独列出来吧
|
7
nannanziyu 2017-09-30 11:10:06 +08:00
@xgfan 这叫反序列化
|
8
lecher 2017-09-30 11:33:33 +08:00 via Android
取决于前端要不要用 total 处理分页渲染,是不是允许跳转指定分页。
如果瀑布流,用户不需要关心总页数,渲染分页列表之类的,就不需要返回 total |
9
6IbA2bj5ip3tK49j 2017-09-30 11:44:50 +08:00
@nannanziyu 尴尬了。
|
10
cnxobo 2017-09-30 11:50:25 +08:00 2
可以把分页相关信息写到 HTTP Header 里.
|
11
loveCoding 2017-09-30 12:16:52 +08:00
感觉没那个必要
code msg result |
13
ytmsdy 2017-09-30 15:51:28 +08:00
取决于需不需要做分页!
|