REST API - 通用或特定资源

时间:2013-04-24 11:38:14

标签: api rest

我目前正在开发一个拥有发送资源的项目。

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

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

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

已经出现了需要ThingC的要求。鉴于此端点可能会在未来使用有效负载中的可选数据获取ThingD,我开始质疑这种“全能”资源。

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

人们对创建通用端点与特定端点的想法是什么?

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

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

干杯

1 个答案:

答案 0 :(得分:0)

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

Understanding REST: Verbs, error codes, and authentication

What exactly is RESTful programming?