所以问题是...如果一切顺利,我向调用者返回200响应,那么我应该返回什么样的内容给调用者呢?
任何东西? 没有什么?
如果这是创建数据库记录...也许新记录的id可能有用...但在这种情况下,我认为仅返回HttpRepsone代码就足够了?
是否有人同意、不同意或有支持讨论的链接?
我应该补充说,对这个服务的请求基本上是交接,然后走人...它们实际上并不需要我建议发送回去的唯一标识符...这更多是为了“完整性”。
所以问题是...如果一切顺利,我向调用者返回200响应,那么我应该返回什么样的内容给调用者呢?
任何东西? 没有什么?
如果这是创建数据库记录...也许新记录的id可能有用...但在这种情况下,我认为仅返回HttpRepsone代码就足够了?
是否有人同意、不同意或有支持讨论的链接?
我应该补充说,对这个服务的请求基本上是交接,然后走人...它们实际上并不需要我建议发送回去的唯一标识符...这更多是为了“完整性”。
在您在服务器上创建资源时,应该返回201
状态码以及一个Location
头部,让客户端可以定位新创建的资源。
响应有效载荷是可选的,通常描述并链接到创建的资源。
参见RFC 7231中的以下引用:
[...] 如果成功处理
POST
请求已在源服务器上创建了一个或多个资源,则源服务器应该发送一个包含Location
头字段的201
(已创建)响应,该头部提供主要资源的标识符,并附带描述请求状态并引用新资源的表示形式。[...]
还来自RFC 7231:
201
(已创建)状态码表示请求已被满足,并导致创建了一个或多个新资源。请求创建的主要资源由响应中的Location
头字段标识,或者如果未收到Location
字段,则由有效请求URI标识。
201
响应有效载荷通常描述并链接到创建的资源。
The
Location
header field is used in some responses to refer to a specific resource in relation to the response. The type of relationship is defined by the combination of request method and status code semantics.
Location = URI-reference
The field value consists of a single URI-reference. [...] For
201
(Created) responses, theLocation
value refers to the primary resource created by the request. [...]
我应该补充说明,对这个服务的请求基本上是自动处理的,无需唯一标识。
对于POST请求不返回任何内容是完全可以的。你在说调用者甚至不需要它。但状态码201会更有意义。