我已经阅读了很多API REST和可能的方法,但我并不是100%清楚我必须做什么。
我想知道执行以下操作的最佳方法是什么:
我有一个安全的REST与令牌相关的令牌。然后我还有与特定帐户相关的对象。
我需要根据accountId获取对象(此帐户是必需的)。 accountId是对象的属性。用户可以拥有多个帐户,因此我需要发送用户选择的accountId来检索特定对象。
即使我搜索特定对象,我也需要发送accountId(此帐户与安全限制有关)。
这样做最好的是什么?
选项1,作为路径参数:
获取所有对象
/objects/account/{accountId}
得到一个对象
/objects/{id}/account/{accountId}
方案2:
获取所有对象
/objects?account=accountId
得到一个对象
/objects/{id}?account=accountId
谢谢,
虽然帐户ID是对象的属性,但听起来这些对象属于该帐户。在那种情况下,我会推荐/accounts/{id}/objects
。您可以将其扩展到/accounts/{id}/objects/{id}
,但我不确定您是否确实需要URL中的帐户才能找到对象 - 您应该能够使用/objects/{id}
并从头文件中的auth令牌获取帐户以确保请求者实际拥有该对象。实际上,你可以为/objects
做同样的事情,如果你不介意/objects
为不同的用户返回不同的列表。
对于它的价值,我认为这个问题实际上没有“正确”的答案。我自己也在搜索这个问题的答案,并且有充分的理由这样做。