REST API包含两个字段

问题描述 投票:0回答:1

我已经阅读了很多API REST和可能的方法,但我并不是100%清楚我必须做什么。

我想知道执行以下操作的最佳方法是什么:

我有一个安全的REST与令牌相关的令牌。然后我还有与特定帐户相关的对象。

我需要根据accountId获取对象(此帐户是必需的)。 accountId是对象的属性。用户可以拥有多个帐户,因此我需要发送用户选择的accountId来检索特定对象。

即使我搜索特定对象,我也需要发送accountId(此帐户与安全限制有关)。

这样做最好的是什么?

选项1,作为路径参数:

获取所有对象

/objects/account/{accountId}

得到一个对象

/objects/{id}/account/{accountId}

方案2:

获取所有对象

/objects?account=accountId

得到一个对象

/objects/{id}?account=accountId

谢谢,

rest api url url-rewriting
1个回答
2
投票

虽然帐户ID是对象的属性,但听起来这些对象属于该帐户。在那种情况下,我会推荐/accounts/{id}/objects。您可以将其扩展到/accounts/{id}/objects/{id},但我不确定您是否确实需要URL中的帐户才能找到对象 - 您应该能够使用/objects/{id}并从头文件中的auth令牌获取帐户以确保请求者实际拥有该对象。实际上,你可以为/objects做同样的事情,如果你不介意/objects为不同的用户返回不同的列表。

对于它的价值,我认为这个问题实际上没有“正确”的答案。我自己也在搜索这个问题的答案,并且有充分的理由这样做。

© www.soinside.com 2019 - 2024. All rights reserved.