REST API包含两个字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了REST API包含两个字段相关的知识,希望对你有一定的参考价值。

我已经阅读了很多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为不同的用户返回不同的列表。

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

以上是关于REST API包含两个字段的主要内容,如果未能解决你的问题,请参考以下文章

修改 REST API 响应以仅包含查询参数中请求的字段

Django Rest Framework 中的模型翻译

使用 Django 访问没有表单(REST api)的 POST 字段数据

Django Rest Frame API:ModelSerializer 中的附加字段

DocuSign Rest API - 需要某些 PDF 字段

400错误代码,当使用RestTemplate进行Rest API时。