Tidak dapat menukar permintaan POST kepada GET permintaan menggunakan Gin/GoLang

PHPz
Lepaskan: 2024-02-10 19:45:08
ke hadapan
544 orang telah melayarinya

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

editor php Baicao akan memperkenalkan kepada anda masalah biasa hari ini, iaitu cara menukar permintaan POST kepada permintaan GET apabila menggunakan rangka kerja Gin/GoLang. Kadangkala kami mungkin perlu menukar permintaan POST kepada permintaan GET, seperti dalam beberapa situasi tertentu atau untuk kemudahan ujian. Walau bagaimanapun, melaksanakan ciri ini tidak semudah itu dan memerlukan beberapa helah dan pelarasan kod. Seterusnya, kami akan menjawab soalan ini untuk anda langkah demi langkah dan membantu anda berjaya menyelesaikan penukaran ini.

Kandungan soalan

Saya nampaknya tidak boleh menukar kaedah pos dengan kaedah dapatkan dalam rangka kerja gin. Apabila saya menerima permintaan, saya ingin menyemak kelayakannya dan, jika sah, ubah hala ke halaman lain yang mempunyai titik akhir get. Setiap kali saya menggunakan c.request.method="get" nampaknya hanya menukar permintaan untuk titik akhir semasa, tetapi yang diubah hala masih mempunyai kaedah asal, iaitu kaedah pos.

Kod:

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")
})
Salin selepas log masuk

code 307请求原本是post请求,由端点本身更改为get.

Laksanakan c.request.method="get" tidak membantu. Tak jumpa jawapan pun. Sebarang idea bagaimana untuk mengubah tingkah laku ini? Adakah membuat permintaan baharu satu-satunya penyelesaian?

Penyelesaian

307 kod status Dokumentasi berkata:

Kaedah dan kandungan permintaan asal digunakan semula untuk melaksanakan permintaan diubah hala. Jika anda ingin menukar kaedah yang digunakan untuk GET, gunakan 303 See Other.

Jadi jika anda menukar http.StatusTemporaryRedirect 更改为 http.StatusSeeOther , ia akan berfungsi tanpa mengubah kaedah permintaan asal.

Atas ialah kandungan terperinci Tidak dapat menukar permintaan POST kepada GET permintaan menggunakan Gin/GoLang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan