3

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

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

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

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

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

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

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

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

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

干杯

4

1 回答 1

1

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

了解 REST:动词、错误代码和身份验证

RESTful 编程到底是什么?

于 2013-04-24T11:46:44.933 回答