对PUT / POST的RESTful响应

时间:2012-10-30 08:31:27

标签: java rest response put restful-architecture

在POST / PUT上返回稍微不同的对象(如发送到服务器的对象)是否RESTful?

示例:

客户端向服务器发送(POST / PUT)Order以创建订单。服务器发送一个响应对象,让我们称之为OrderResponse,其中包含创建的Order的属性以及一些不同的信息,如交付时间,付款条件等。这是RESTful还是我应该只返回一个OrderId并提供一个新服务,客户可以在其中检索OrderResponse

修改

我无法向客户提供新订单的URL,因为订单未保存在数据库中。我的应用程序通过Messaging将订单发送到第三方系统,在那里我无法读取它,但第三方系统向我发送了一些附加信息,我将其添加到OrderResponse

1 个答案:

答案 0 :(得分:2)

我不认为OrderOrderResponse是不同的资源。它们属于同一类型。只是客户端不能也不应该知道此资源的所有细节。例如,确切的ID由服务器分配。

  • 使用可能具有不同表示形式的相同资源。
  • 将HTTP响应中的Location标头返回到包含创建POST的URI的Order请求。
  • 使Order的表示形式和此URI完全由客户端POST编辑。