使用 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)。

您必须使用 301302 作为重定向状态代码。

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
}