我正在构建REST API,并且在正常创建资源时,我返回HTTP 201 Created以及Location头以指定该资源所在的位置。但是由于某种原因,http客户端没有重定向。
我正在使用Postman。有没有人对这个问题有所了解?
答案 0 :(得分:2)
简而言之,Location标头不足以触发客户端重定向。它必须与3xx HTTP状态代码一起使用。
参考文献:
答案 1 :(得分:0)
这是期望不符合实际情况的事情之一,人们认为第一件事是“好不能正常工作”,正如其他评论所建议的那样。
“位置”只是一个随机标题,需要指示客户端,例如Postman或curl或其他任何内容,以便跟随它们。默认情况下,大多数人不会这样做,因为这是一个不合理的默认值。
例如,YouTube会为某些回复和位置标记返回正文。一个例子是视频上传。他们回复您原始的元数据,因为视频是通过POST发送的,他们推送了一个位置URL,也就是上传视频的端点。如果客户只是随机重定向到那个你将度过一段美好时光。您可以使用Paw制作“序列”,我相信这会让您从标题中获取值以重复使用。 Runscope Ghostinspector也可以这样做。