0

我有一个 API,允许客户端通过 uri 发布请求消息:[url]/Request

The Request message is xml:
<Request>
    <Source>1234</Source>
    <Destination>5551111</Destination>
    <Message>Hello</Message>
</Request>

The response message is
<Response>
    <Id>2589</Id>
    <Status>Stored</Status>
</Response>

在 REST 意义上,位于 /Request 的服务在 HTTP 响应中返回响应消息是否正确?或者,/Request 帖子是否应该返回一个类似

/Response?MessageId=2589 

在哪里返回响应消息?

4

1 回答 1

1

POSTHTTP 规范对请求有这样的说法:

如果在源服务器上创建了资源,则响应应该是 201(已创建)并包含描述请求状态并引用新资源的实体和 Location 标头(参见第 14.30 节)。

因此,从技术上讲,如果一个实体包含在 POST 响应中,它应该描述请求的状态。然而,什么构成status of the request,完全取决于实施者。大多数大型实现将返回新创建资源的表示以指示“成功”,并返回错误消息以指示“失败”。在任何情况下,您都希望将Location响应的标头设置为新创建资源的 URI。

于 2013-01-28T19:45:49.320 回答