设计可以处理不同资源标识符的API

时间:2014-12-04 20:26:52

标签: rest

我正在为RESTful API开发一组URI。 API将由至少两个客户使用。

客户端1实际上是应用程序本身,使用数据库中的主键识别资源最有意义。它将使用如下路线:

/ API / V1 /产品/:PRODUCT_ID

客户端2不知道客户端1的内部主键。相反,它拥有客户端1知道的自己的一组标识符。它将使用如下路线:

/ API / V1 /产品/:product_identifier

显然,这两条路线会发生冲突。我想到的两个解决方案是:

  1. 命名空间客户端使用的API 2.类似于: / API /客户端2 / V1 /产品/:product_identifier

  2. 让客户端2进行两次通话。第一个获取应用程序的内部ID,第二个进行适当的调用。

  3. 还有其他我没想过的选择吗?这些选项似乎都不是特别吸引我。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您应该使用/api/v1/products/abc/api/v1/products/id:123。顺便说一句。 URI结构并不重要,因为客户端遵循超链接(HATEOAS)。