具有多个标识符的 REST 端点
Posted
技术标签:
【中文标题】具有多个标识符的 REST 端点【英文标题】:REST Endpoint with more then one identifier 【发布时间】:2021-09-18 23:15:18 【问题描述】:我有这种情况,我需要获得一个可以由多个唯一 ID 识别的项目。消费者应该能够决定他们使用哪一种。
/product/productId
/product/gtin
/product/pzn
如果我按照上面显示的方式进行操作,则消费者使用的 ID 不再清晰。
到目前为止我的解决方案:
/product/productId/productId
/product/gtin/gtin
/product/pzn/pzn
处理这种多样性的最佳做法是什么?
【问题讨论】:
【参考方案1】:处理这种多样性的最佳做法是什么?
任何确保您的标识符不模棱两可的方法都是很好。
在网络上,您通常会看到在查询字符串中使用键/值对,因为 html 本身就支持这一点
/product?productId=productId
/product?gtin=gtin
/product?pzn=pzn
如果您不关心 HTML 支持,但仍希望能够利用通用工具,请查看URI Templates,它允许您交流其他 URI 构造方法。
/product/productId/productId
/product?productId=productId
这些选择中的任何一个都很好。后一种拼写更适用于 HTML 表单,前一种拼写适用于 relative resolution。
如何选择?由于机器不在乎,因此优先考虑受选择影响的某些人(操作员阅读日志、编写文档的作者、查看浏览器历史记录的消费者),并选择最适合他们需求的拼写。
【讨论】:
以上是关于具有多个标识符的 REST 端点的主要内容,如果未能解决你的问题,请参考以下文章
XCUITest:从具有多个单元格原型的多个单元格标识符中选择一个 CollectionView 单元格