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

时间:2018-03-12 20:45:07

标签: json rest api post get

在一个安静的API中,应该使用POST来创建,并且应该使用GET来读取。

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

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

“/ accounts / create”不会被建议,因为您的API应该是名词,而不是动词。使用像PUT这样的不同HTTP方法似乎不对。这个问题必须提出来,所以我很好奇人们在做什么来绕过它?

1 个答案:

答案 0 :(得分:0)

如果您正在使用POST,则表示您没有构建RESTful服务。我看到这个的方式,你有两个选择:

  1. 接受这个,并构建一个类似RPC的系统。
  2. 更改应用程序中的ID,以免它们存在安全风险。如果知道id是个问题,请考虑使用其他内容。