我正在为RESTful API开发一组URI。 API将由至少两个客户使用。
客户端1实际上是应用程序本身,使用数据库中的主键识别资源最有意义。它将使用如下路线:
/ API / V1 /产品/:PRODUCT_ID
客户端2不知道客户端1的内部主键。相反,它拥有客户端1知道的自己的一组标识符。它将使用如下路线:
/ API / V1 /产品/:product_identifier
显然,这两条路线会发生冲突。我想到的两个解决方案是:命名空间客户端使用的API 2.类似于: / API /客户端2 / V1 /产品/:product_identifier
让客户端2进行两次通话。第一个获取应用程序的内部ID,第二个进行适当的调用。
还有其他我没想过的选择吗?这些选项似乎都不是特别吸引我。谢谢你的帮助。
答案 0 :(得分:0)
您应该使用/api/v1/products/abc
和/api/v1/products/id:123
。顺便说一句。 URI结构并不重要,因为客户端遵循超链接(HATEOAS)。