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