我想知道是否在我的URL中使用矩阵或查询参数.我发现对该主题的旧讨论并不令人满意.
例子
乍一看,矩阵参数似乎只有优势:
paramA=val1,val2但也有缺点:
由于服务的开发人员可以选择支持矩阵参数的框架,因此唯一的缺点是浏览器默认创建查询参数.
还有其他缺点吗?你会怎么做?
我有以下实体:
<car>
<carID>7</carID>
<...>...</...>
<externalCarID>23890212</externalCarID>
</car>
Run Code Online (Sandbox Code Playgroud)
现在的问题是,carID和externalCarID是用于通过/不同系统都独立主键,它应该是可能的API客户端访问一个car与两个实体carIDXOR的externalCarID。
这两个键都是整数,并且不使用不交集:
carID(7) != externalCarID(7)
Run Code Online (Sandbox Code Playgroud)
我想到了以下解决方案:
/restapi/car/7和访问/restapi/externalcar/23890212/restapi/car/7?type=regular和/restapi/car/23890212?type=ext一些技巧来解决这个问题或对我的解决方案提供反馈,最好参考REST / HTTP规范,这将是很棒的!
有关主键的背景:
假设我们的发票系统需要carID和母公司控制系统需要externalCarID。我一点都不喜欢它,但是它是一个正在运行的系统,我现在没有办法对其进行更改。