json REST API参数顺序

sgtfey8w  于 2023-06-07  发布在  其他
关注(0)|答案(1)|浏览(193)

我有多个形式为/geodata/someObjects/geodata/someObjects/{objectId}的端点。
事实证明存在多个坐标系。所以我想具体说明一下。
最佳实践是什么?我应该追加吗
/geodata/someObjects/coordinateSystems/{coordinateSystemId}
/geodata/someObjects/{objectId}/coordinateSystems/{coordinateSystemId}
或prepend
/geodata/coordinateSystems/{coordinateSystemId}/someObjects
/geodata/coordinateSystems/{coordinateSystemId}/someObjects/{objectId}
直觉上我会追加它,但是将它添加到每个端点的末尾看起来不太正确。

nle07wnf

nle07wnf1#

REST不关心您对资源标识符使用什么拼写约定。
在设计带有路径段的标识符时,您可能希望检查相对分辨率的含义,也就是说,您希望点段在设计中有用吗?

/geodata/someObjects/{objectId}/coordinateSystems/{coordinateSystemId}

这种拼写方式意味着您可以使用点段链接具有相同objectId和不同coordinateSystemId的资源

/geodata/coordinateSystems/{coordinateSystemId}/someObjects/{objectId}

这种拼写意味着您可以使用点段链接具有相同coordinateSystemId和不同objectId的资源。
我会将coordinateSystemId作为查询参数而不是路径参数提交
这给了你一个不同的权衡;在资源标识符的查询部分将信息表示为application/x-www-form-urlencoded键值对确实使HTML GET表单更容易;但作为交换,你可以用点段的一些便利性来交换。
最佳实践是什么?
选择最适合你最关心的人的拼写。

相关问题