REST Api - 创建的资源重定向

时间:2015-12-31 14:58:14

标签: rest google-chrome http http-headers postman

我正在构建REST API,并且在正常创建资源时,我返回HTTP 201 Created以及Location头以指定该资源所在的位置。但是由于某种原因,http客户端没有重定向。

我正在使用Postman。有没有人对这个问题有所了解?

2 个答案:

答案 0 :(得分:2)

简而言之,Location标头不足以触发客户端重定向。它必须与3xx HTTP状态代码一起使用。

参考文献:

  1. https://en.m.wikipedia.org/wiki/HTTP_location
  2. Redirecting with a 201 created

答案 1 :(得分:0)

这是期望不符合实际情况的事情之一,人们认为第一件事是“好不能正常工作”,正如其他评论所建议的那样。

“位置”只是一个随机标题,需要指示客户端,例如Postman或curl或其他任何内容,以便跟随它们。默认情况下,大多数人不会这样做,因为这是一个不合理的默认值。

例如,YouTube会为某些回复和位置标记返回正文。一个例子是视频上传。他们回复您原始的元数据,因为视频是通过POST发送的,他们推送了一个位置URL,也就是上传视频的端点。如果客户只是随机重定向到那个你将度过一段美好时光。

您可以使用Paw制作“序列”,我相信这会让您从标题中获取值以重复使用。 Runscope Ghostinspector也可以这样做。