【发布时间】:2017-01-02 05:32:36
【问题描述】:
假设我们有一个简单的 API,允许客户端获取特定类型的项目列表:
GET /items/foo
GET /items/bar
GET /items/blah
响应是所请求类型的项目列表,每个条目都有一个唯一的 ID。 客户端通常会在table/grid/etc中显示这些项目。
现在,我们必须在客户端中实现固定功能,以便另一个 API 允许根据 ID 和类型固定/取消固定项目。所以我正在与我的同事讨论通知客户哪些项目被固定或不固定的可能性。
一个选项是让另一个 API GET /pinning/{type} 返回指定类型的所有固定项目的列表。
另一个解决方案是使用类似的 API GET /pinning/{type} 来返回所有固定项目的 ID 列表。让客户自己解决。
第一个解决方案被接受。他们的论点是后端负责业务逻辑,客户端不应该参与业务逻辑,所以客户端应该只显示它从服务器接收到的数据。这个论点没有卖给我。我认为在这种情况下,服务器应该提供允许客户端执行其他表示逻辑的数据。
哪种解决方案更好?或者还有哪些其他可能的解决方案?
【问题讨论】:
标签: web-services rest restful-architecture restful-url business-logic