想改进这个问题吗?更新问题,以便通过编辑这篇文章用事实和引用来回答。
我试图为我们的一个客户建立一个小的REST API,他希望有这样的API。这是我第一次读到那个话题。我们的大部分服务需要相当长的时间来完全处理客户订单。为此,客户端可以通过发布xml数据来创建资源,然后通过获取相应的资源来检索结果。那是非常直接的。
现在,尽管我们想要创建另一个服务,它通常会几乎立即评估结果,但我真的不知道如何用最佳实践来实现它。由于可以立即处理请求,因此我希望避免使用两个请求来创建和检索资源。这似乎不必要且费力。
另一方面,对于这个问题,似乎不存在一种单一的合适的HTTP请求方法,因为POST请求不应该用除了响应代码之外的任何东西来响应,而GET请求应该独立于它们的主体(今天似乎可以使用GET请求发送主体数据,然而这似乎是一种不好的做法,不应该影响响应。换句话说,服务器只允许使用包含在URL中的信息)。此外,我不能将数据作为GET-URL中的查询参数发送,因为数据包含非常敏感的信息——我们国家对该主题有非常严格的法律,我学会了非常小心。
实现这种响应工具的最佳实践是什么?REST API可能是错误的选择吗?
谢谢
POST请求除了响应代码之外不应该有任何响应
这不太对。
如果一篇文章导致了一个创作,您应该使用
此外,POST响应可能包含表示所创建对象的主体:restful POST响应的“最佳”实践。
因此,POST方法就是您正在寻找的。它创建新资源并返回正文中新创建对象的表示形式。
如果您的服务在创建后会修改对象,则由您决定如何处理。如果修改时间很短,您可以等到对象被修改后再返回准备使用的对象。否则,您可以返回字段不完整的对象。两种方法都是RESTful。