我目前正在从事一个项目,该项目具有发送东西的资源。
假设 URI 看起来像这个http://api.somename.com/thingssender,只有 POST 动词。
随着时间的推移,这已成为一种资源,在有效负载中具有几个“可选”元素,这些元素仅适用于发送一种类型的东西。
目前,此资源处理两种不同类型的事物(ThingA 和 ThingB),但子元素中的内容也会有所不同。因此,例如,您可以向一群人发送许多东西或一件东西。
出现了需要 ThingC 的要求。鉴于此端点将来可能会在负载中使用可选数据的 ThingD,我开始质疑这种“包罗万象”的资源。
我担心资源的复杂性不仅对开发人员而且对使用 REST API 的客户端都会不断增加。对我来说,这只会造成混乱,而不是创造最好的体验(同样对于开发人员和客户来说)。
人们对创建通用端点与特定端点有何想法?
因此,用于发送 ThingC 的特定端点(http://api.somename.com/ThingsCSender)。它对我来说是单一的责任,并且仔细考虑底层实现不应该导致任何重复的功能。
(给出的例子不是项目中的真实概念或资源:p!)
干杯