【发布时间】:2016-01-01 02:24:33
【问题描述】:
我正在构建 REST API,当资源正常创建时,我返回 HTTP 201 Created 以及 Location 标头以指定该资源所在的位置。但是由于某种原因,http客户端没有重定向。
我为此使用 Postman。有人知道这个问题吗?
【问题讨论】:
标签: rest google-chrome http http-headers postman
我正在构建 REST API,当资源正常创建时,我返回 HTTP 201 Created 以及 Location 标头以指定该资源所在的位置。但是由于某种原因,http客户端没有重定向。
我为此使用 Postman。有人知道这个问题吗?
【问题讨论】:
标签: rest google-chrome http http-headers postman
简而言之,Location 标头不足以触发客户端重定向。它必须与 3xx HTTP 状态码结合使用。
参考资料:
【讨论】:
这是期望与实际发生的事情不符的事情之一,人们认为的第一件事是“很好,不能正常工作”,正如其他 cmets 所建议的那样。
Location 只是一个随机的标头,需要指示客户端(例如 Postman 或 curl 或其他任何东西)跟随它们。大多数默认情况下不会这样做,因为这是不合理的默认设置。
YouTube 例如返回一些响应的正文和位置标签。一个例子是视频上传。他们通过 POST 发送视频的原始元数据来响应您的原始元数据,并且他们推送一个位置 URL,该 URL 也是上传视频的端点。如果客户只是随机重定向到那个你会很糟糕。
您可以使用Paw 来制作“序列”,我相信它可以让您从标头中获取值以进行重用。 Runscope Ghostinspector 也可以做到这一点。
【讨论】: