json - 使用 REST API 的 POST 方法进行读取操作

在restful API中,应该使用POST创建,使用GET读取。

有时,出于安全原因,您不能在 URI 中传递敏感变量。例如,如果您有一个/accounts API 需要您传递“accountNumber”。如果您的安全团队不允许您将其放入 URI,那么您必须使用 POST 方法而不是 GET 方法来为“读取”操作提供服务,然后您可以在请求正文中提供帐号。

这让我想到了我的问题:如果您已经用完了 POST 方法来为读取操作提供服务,那么您如何为同一 API 的“创建”操作提供服务?

不建议使用“/accounts/create”,因为您的 API 应该是名词,而不是动词。用完 PUT 等不同的 HTTP 方法似乎不对。这个问题经常出现,所以我很好奇人们正在做什么来解决这个问题?

最佳答案

如果您为此使用 POST,则您不是在构建 RESTful 服务。在我看来,您有 2 个选择:

  1. 接受这一点,并构建一个更像 RPC 的系统。
  2. 更改应用程序中的 ID,以免它们构成安全风险。如果知道 id 有问题,请考虑使用其他东西。

https://stackoverflow.com/questions/49244129/

相关文章:

apache-flink - 在不重启作业的情况下在 Apache Flink 中动态添加模式

python - 如何使用 R 按列将 .csv 拆分为多个 .csv?

asynchronous - 使用 async/await 进行异步 mocha 测试时遇到问题

google-bigquery - bigquery 备份所有 View 定义

android - 在 test.Jar 中启动 startActivity() ,Cordova

python - BeautifulSoup- find_all- 订单保存

python - 如何对 Pandas RE .str.extract() 使用 RE OR 操作数

jenkins - 如何在多分支管道项目中为每个分支级别的用户提供访问权限?

google-app-engine - 如何在 objectify 中通过嵌套 Refs 进行查询

security - 自动关联社交登录有什么安全风险(Oauth2)