【发布时间】:2014-06-18 03:39:19
【问题描述】:
我的应用程序中有以下场景。我以用户身份登录并创建了一个组。有一个 REST api 用于创建组 (POST /groups/api/v1/groups) 并获取组详细信息 (GET /groups/api/v1/groups/{group id})
成功返回的响应不仅仅是组资源的 json 表示。它是一个包含许多其他信息的 DTO(以避免多次调用服务器)
例如,响应可以包括
可以在群组上执行的操作(例如:邀请用户加入群组)以及每个操作需要点击的相应网址
组中的成员数。
小组近期活动
会员资料
等
目前唯一使用 REST api 的客户端是需要额外信息的 UI。如果稍后将 API 公开给开发人员,他们可能不需要返回所有信息。在必须返回包含更多信息的 DTO 的情况下,我们如何处理剩余响应?
在 GET 的静止响应中返回 dto 是一个好的设计还是应该避免?
【问题讨论】:
-
您有办法锁定角色或允许角色使用特定的 api 方法吗?
-
客户端不应该因为被发送额外的数据而中断,并且理想情况下应该能够处理没有得到他们期望的数据(显示该字段的错误,而不是使整个程序崩溃)。如果您的服务器发送的数据多于它必须发送的数据,那么它就是在浪费每个人的时间。请求应详细说明他们要求的信息,这可以通过作为请求正文一部分的 URI 来完成。
标签: rest httpresponse dto