首頁 > 後端開發 > Golang > 無法使用 Gin/GoLang 將 POST 請求變更為 GET 請求

無法使用 Gin/GoLang 將 POST 請求變更為 GET 請求

PHPz
發布: 2024-02-10 19:45:08
轉載
568 人瀏覽過

无法使用 Gin/GoLang 将 POST 请求更改为 GET 请求

php小編百草今天要為大家介紹一個常見的問題,那就是在使用Gin/GoLang框架時,如何將POST請求更改為GET請求。有時我們可能需要將POST請求轉換為GET請求,例如在某些特定情況下或為了方便測試。不過,要實現這個功能並不是那麼簡單,需要一些技巧和程式碼調整。接下來,我們將一步一步為大家解答這個問題,幫助大家順利完成這個轉換。

問題內容

我似乎無法在 gin 框架中用 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" 沒有幫助。也找不到答案。知道如何改變這種行為嗎?建立新請求是唯一的解決方案嗎?

解決方法

307狀態代碼文件說:

原始請求的方法和正文被重複用來執行重定向的請求。如果您希望將使用的方法改為 GET,請改用 303 See Other。

因此,如果將 http.StatusTemporaryRedirect 更改為 http.StatusSeeOther ,則無需更改原始請求方法即可工作。

以上是無法使用 Gin/GoLang 將 POST 請求變更為 GET 請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板