【问题标题】:REST API - Generic or specific resourcesREST API - 通用或特定资源
【发布时间】:2013-04-24 19:46:44
【问题描述】:

我目前正在从事一个项目,该项目具有发送东西的资源。

假设 URI 看起来像这样 http://api.somename.com/thingssender,只有 POST 动词。

随着时间的推移,这已成为一种资源,在负载中具有几个“可选”元素,这些元素仅适用于发送一种类型的东西。

目前,此资源处理两种不同类型的事物(ThingA 和 ThingB),但子元素中的内容也会有所不同。因此,例如,您可以向一群人发送很多东西或单个东西。

出现了需要 ThingC 的要求。鉴于此端点将来可能会采用负载中包含可选数据的 ThingD,我开始质疑这种“包罗万象”的资源。

我担心资源的复杂性会不断增加,不仅对于开发人员,对于使用 REST API 的客户也是如此。对我来说,这只会造成混乱,并不能创造最佳体验(同样对开发人员和客户而言)。

人们对创建通用端点与特定端点有何看法?

因此,发送 ThingC 的特定端点 (http://api.somename.com/ThingsCSender)。它对我来说是一个单一的责任,并且仔细考虑底层实现不应该导致任何重复的功能。

(给出的示例不是项目中的真实概念或资源:p!)

干杯

【问题讨论】:

    标签: api rest


    【解决方案1】:

    您是正确的,每个资源都应该有自己的 URI。有关更多信息,如果有兴趣,stackoverflow 上有一些很好的答案:

    Understanding REST: Verbs, error codes, and authentication

    What exactly is RESTful programming?

    【讨论】:

      猜你喜欢
      • 2016-07-21
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 2022-06-21
      • 1970-01-01
      相关资源
      最近更新 更多