POST方法调用违反HTTP / REST原则后发送'200 OK'状态码?

时间:2015-02-10 18:24:38

标签: rest http

情景:

  1. 客户端调用POST HTTP方法,并在邮件正文中包含所需信息。

  2. 服务器成功创建资源。但是没有办法通过直接链接引用创建的资源。

  3. 回答客户的最佳方式是,其请求是否已成功处理?

    a)返回201(但没有提供位置标题)。

    b)简单地返回200而没有任何其他信息。

    c)其他一些选择......

2 个答案:

答案 0 :(得分:0)

如果你想成为一个REST纯粹主义者,那么这里适当的回应就是在响应的Location头中将URL返回给新创建的资源。

HTTP 201状态代码表示“已创建”,而“位置”标题应在两种方案之一中设置,其中一种方案是提供有关新创建资源的信息:

http://en.wikipedia.org/wiki/HTTP_location

答案 1 :(得分:0)

好的,虽然问题是公开的,但我找到了答案:

  

POST方法执行的操作可能不会产生资源   可以通过URI识别。在这种情况下,200(OK)或204   (No Content)是适当的响应状态,具体取决于是否   或不响应包括描述结果的实体。

copied from

所以简而言之,不 - 这不违反任何事情。