对于Go和Gin来说,我是新手,所以请原谅我的无知。
我使用Gin设置了一个支持POST请求的服务器。我希望用户POST他们的请求,其中包括将该请求重定向到另一个URL所需的JSON有效负载。作为重定向的一部分,我需要传递原始的JSON有效负载。例如,如果用户发出此CURL请求:
curl -H“Content-Type:application / json”-d'{“name”:“NewTest Network”,“organizationId”:534238,“type”:“wireless”}'-X POST“{{3 }}“
我的杜松子酒代码执行此操作:
r.POST("/network", func(c *gin.Context) {
c.Redirect(http.StatusMovedPermanently, networks_url)
})
其中:networks_url是重定向的URL。我需要一种方法将原始JSON有效负载传递给重定向的URL。
非常感谢您提供的任何帮助。
答案 0 :(得分:2)
这与Go或杜松子酒没有任何关系。
这是用户代理的预期行为,应该使用301或302重定向将方法从POST更改为GET。
要指示用户代理使用相同的方法重复请求,请使用307(http.StatusTemporaryRedirect
)或308(http.StatusPermanentRedirect
)。
答案 1 :(得分:1)
答案 2 :(得分:0)
我的问题太多了(循环),所以我对此很满意。
if err != nil {
session.AddFlash("The error I would like to show.", "error")
c.Redirect(http.StatusMovedPermanently, "/my/route")
return
}