GET 请求的 REST API 标准 returns 部分响应

REST API standard for GET request which returns partial response

我想为 api 设计一个端点,其中客户端只会在响应负载中获取 ID。 例如departments/{departmentId}/users/ids,这个端点将 return 属于这个 deparmentId 的所有员工的 userIds 请让我知道上述端点是否真的符合其他 api 标准,或者应该有其他方式

你可以去掉/ids后缀,改用departments/{departmentId}/users,用这个路由分页。如果您对用户进行分页,它确实有意义,并且您希望用户很多,通常是 API 像这样 return 列表页面中使用的数据,例如您可以 return 用户名、电子邮件、头像 link 以及查看所需的所有信息。

没有其他解决方案,除非你切换到类似 graphql 的东西。

Please let me know if the above endpoint really makes sense as per the rest api standards

是的,太完美了。 “任何可以命名的信息都可以是资源”(Fielding, 2000)。

GET /departments/17/users/ids
200 OK
Content-Type: text/plain

1
2
3
4
5
...

很好。如果您想使用其他表示形式(HTML,或 JSON,或其他),那也是 fine

从通用组件的角度来看,它只是一个文档。 Transferring documents over a network 是 HTTP 的用途。