我已经提供了这样的 REST API 来获取基本用户信息和用户空间信息。
/v1/users/{user_id}/profile,它将返回这样的 JSON:
```json {
“id”:123,“名称”:“foo”,“性别”:0,“电子邮件”:“foo@gmail.com”,}```
/v1/users/{user_id}/space,它也返回一个 JSON:
```json { "sum_space":100, "used_space":20, }
现在,如果客户端(例如网页,第三个应用程序)有一个视图需要同时显示部分用户信息(例如“姓名”,“性别”)和部分用户空间信息(例如“sum_space”) , 我需要提供一个新的聚合 API/v1/users/{user_id}
吗?
如果我提供这样一个聚合 API,它应该返回 User 和 Space 的所有属性吗?如果我这样做了,返回值将包含一些未使用的值,这将增加网络的带宽。但是如果这个 API 只是返回客户需要的东西,如果新的客户需求来了,我该怎么办(例如,只获取用户名和用户的 used_space)?
如果我不提供任何聚合API,所有客户端必须调用N次才能获取N种资源。如果需要过滤器搜索(例如获取总空间> 100 的用户列表),则客户端只能连续执行此操作。
我对这些很困惑,有什么要遵循的指导方针吗?