我有一个非常简单的RESTful服务,通过POST接收一些表单数据,其目的是简单地在云存储中保留文本正文(具有唯一ID)(Amazon S3,Azure Blob存储等)作为文件...
所以,问题是..如果一切都很好,并且我向呼叫者返回200响应,那么我应该以身体的形式返回呼叫者?
什么? 什么?
如果这是创建数据库记录..也许新记录的id可能有用..但在这种情况下,我只想HttpRepsone代码就足够了吗?
有人同意,不同意或有讨论的支持链接吗?
我应该补充一点,对此服务的请求几乎都是......请关闭,然后去......他们实际上 我建议发回的唯一ID。这更像是为了#34;完整性"。
答案 0 :(得分:2)
一旦在服务器上创建资源,您应该返回201
状态代码和Location
标头,允许客户端找到新创建的资源。
响应有效负载是可选的,它通常描述并链接到创建的资源。
请参阅RFC 7231:
中的以下引用[...]如果由于成功处理
POST
请求而在原始服务器上创建了一个或多个资源,则原始服务器应该发送包含201
(已创建)的响应一个Location
标头字段,用于提供所创建的主资源的标识符,以及一个表示在引用新资源时描述请求状态的表示。 [...]
同样来自RFC 7231:
201
(已创建)状态代码表示已完成请求并导致创建了一个或多个新资源。请求创建的主要资源由响应中的Location
标头字段标识,如果没有收到Location
字段,则由有效请求URI标识。
201
响应有效负载通常描述并链接到创建的资源。 [...]
在某些响应中使用
Location
标头字段来引用与响应相关的特定资源。关系类型由请求方法和状态代码语义的组合定义。Location = URI-reference
字段值由单个URI引用组成。 [...]对于
201
(已创建)响应,Location
值是指请求创建的主要资源。 [...]
答案 1 :(得分:1)
我应该补充一点,对这项服务的请求几乎是......交出来,然后去......他们实际上并不需要唯一的身份
绝对没问题可以回复帖子请求。你说它甚至不是呼叫者所要求的。但状态代码201会更有意义。