【发布时间】:2023-01-11 23:16:46
【问题描述】:
ANS: 使用http.StatusSeeOther而不是http.StatusTemporaryRedirect,问题将在不改变原始请求方法的情况下得到解决。
我似乎无法在 Gin Framework 中使用 GET 方法更改 POST 方法。当我收到请求时,我想检查它的凭据,如果有效,则重定向到另一个具有 GET 端点的页面。每当我使用 c.Request.Method="GET" 时,它似乎只更改当前端点的请求,但重定向的请求仍然具有原始方法,即 POST 方法。
代码:
auth.GET("/sign-in", func(c *gin.Context) {
c.File("../../html/index.html")
})
auth.POST("/sign-in", func(c *gin.Context) {
c.Request.Method = "GET"
c.Redirect(http.StatusTemporaryRedirect, "/profile/:pid")
})
Code 307请求原本是POST请求,端点自己改成了GET。
做c.Request.Method="GET"没有帮助。也找不到答案。知道如何改变这种行为吗?创建新请求是唯一的解决方案吗?
【问题讨论】:
标签: go