使用 Gin:如何将原始 JSON 有效负载传递给重定向 POST
Using Gin: How to pass original JSON payload to a Redirect POST
对于围棋和杜松子酒,我是一个新手,所以请原谅我的无知。
我已经使用支持 POST 请求的 Gin 设置了一个服务器。我希望用户 POST 他们的请求包含一个必需的 JSON 负载,将该请求重定向到另一个 URL。作为重定向的一部分,我需要传递原始的 JSON 负载。例如,如果用户发出此 CURL 请求:
curl -H "Content-Type: application/json" -d '{ "name": "NewTest Network", "organizationId": 534238, "type": "wireless"}' -X POST "http://localhost:8080/network"
我的 Gin 代码是这样做的:
r.POST("/network", func(c *gin.Context) {
c.Redirect(http.StatusMovedPermanently, networks_url)
})
其中:networks_url 是重定向的 URL。我需要一种方法将原始 JSON 有效负载传递给重定向的 URL.
如果您能提供任何帮助,我们将不胜感激。
这与 Go 或 gin 没有任何关系。
这是用户代理的预期行为,它应该使用 301 或 302 重定向将方法从 POST 更改为 GET。
要指示用户代理使用相同的方法重复请求,请使用 307 (http.StatusTemporaryRedirect
) 或 308 (http.StatusPermanentRedirect
)。
您必须使用 301 或 302 作为重定向状态代码。
c.Redirect(301, "http://www.google.com/")
请参考文档here。
我遇到了太多请求(循环)的问题,所以这个我没问题。
if err != nil {
session.AddFlash("The error I would like to show.", "error")
c.Redirect(http.StatusMovedPermanently, "/my/route")
return
}
对于围棋和杜松子酒,我是一个新手,所以请原谅我的无知。
我已经使用支持 POST 请求的 Gin 设置了一个服务器。我希望用户 POST 他们的请求包含一个必需的 JSON 负载,将该请求重定向到另一个 URL。作为重定向的一部分,我需要传递原始的 JSON 负载。例如,如果用户发出此 CURL 请求:
curl -H "Content-Type: application/json" -d '{ "name": "NewTest Network", "organizationId": 534238, "type": "wireless"}' -X POST "http://localhost:8080/network"
我的 Gin 代码是这样做的:
r.POST("/network", func(c *gin.Context) {
c.Redirect(http.StatusMovedPermanently, networks_url)
})
其中:networks_url 是重定向的 URL。我需要一种方法将原始 JSON 有效负载传递给重定向的 URL.
如果您能提供任何帮助,我们将不胜感激。
这与 Go 或 gin 没有任何关系。
这是用户代理的预期行为,它应该使用 301 或 302 重定向将方法从 POST 更改为 GET。
要指示用户代理使用相同的方法重复请求,请使用 307 (http.StatusTemporaryRedirect
) 或 308 (http.StatusPermanentRedirect
)。
您必须使用 301 或 302 作为重定向状态代码。
c.Redirect(301, "http://www.google.com/")
请参考文档here。
我遇到了太多请求(循环)的问题,所以这个我没问题。
if err != nil {
session.AddFlash("The error I would like to show.", "error")
c.Redirect(http.StatusMovedPermanently, "/my/route")
return
}