
举例:显示用户的 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 我们用 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 可以把分页相关信息写到 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 取决于需不需要做分页! |