以RESTful方式调用远程过程

时间:2018-01-28 18:06:17

标签: rest web-services

我想创建一个提供端点的Web服务,用户可以通过该端点生成和操作保存在数据库中的配置文件。 终点

https://api.example.com/generate-new

应执行为用户生成标准配置文件的过程。 RESTful Web服务应该返回完整的配置文件作为答案(状态转移)。 由于配置文件还包含敏感信息,如api密钥,因此这里不可能。

我想只返回一条成功消息。 HTTP-200就足够了。 但这种方法仍然是RESTful吗?

1 个答案:

答案 0 :(得分:1)

问问自己:什么是资源(REST中的'R')?听起来资源类似于用户配置生成任务。该网址应反映这一点:

https://api.example.com/user-configuration-generation-tasks

假设对此集合资源的HTTP POST请求创建了一个新任务,可能使用请求正文中传递的信息。服务器执行此任务并生成新的用户配置。

现在您有三种选择可以返回:

  • 201 CREATED:这需要在响应中包含用户配置的Location。由于您不想使配置可访问,因此无法选择。
  • 200 OK:这表明该操作取得了一般性成功。但既然你不打算回复任何回复,我不建议这样做。相反,我们
  • 204 NO CONTENT:服务器已成功完成请求,并且没有其他内容可在响应有效负载正文中发送。

所有这一切都非常完美。