Heim > Artikel > Backend-Entwicklung > Die POST-Anfrage kann mit Gin/GoLang nicht in eine GET-Anfrage geändert werden
php-Editor Baicao stellt Ihnen heute ein häufiges Problem vor, nämlich wie man die POST-Anfrage in eine GET-Anfrage ändert, wenn man das Gin/GoLang-Framework verwendet. Manchmal müssen wir möglicherweise eine POST-Anfrage in eine GET-Anfrage umwandeln, beispielsweise in bestimmten Situationen oder aus Gründen der Testfreundlichkeit. Allerdings ist die Implementierung dieser Funktion nicht so einfach und erfordert einige Tricks und Code-Anpassungen. Als nächstes beantworten wir Ihnen diese Frage Schritt für Schritt und helfen Ihnen, diese Umstellung erfolgreich abzuschließen.
Ich kann die Post-Methode anscheinend nicht mit der Get-Methode im Gin-Framework ändern. Wenn ich eine Anfrage erhalte, möchte ich deren Anmeldeinformationen überprüfen und, falls gültig, auf eine andere Seite mit einem Get-Endpunkt umleiten. Wann immer ich c.request.method="get"
verwende, scheint sich nur die Anfrage für den aktuellen Endpunkt zu ändern, aber der umgeleitete Endpunkt hat immer noch die ursprüngliche Methode, nämlich die Post-Methode.
Code:
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
.
Ausführen c.request.method="get"
hilft nicht. Kann die Antwort auch nicht finden. Irgendeine Idee, wie man dieses Verhalten ändern kann? Ist das Erstellen einer neuen Anfrage die einzige Lösung?
Statuscode 307 Dokumentation sagt:
Die Methode und der Text der ursprünglichen Anfrage werden wiederverwendet, um die umgeleitete Anfrage auszuführen. Wenn Sie die für GET verwendete Methode ändern möchten, verwenden Sie stattdessen 303 See Other.
Wenn Sie also http.StatusTemporaryRedirect
更改为 http.StatusSeeOther
ändern, funktioniert es, ohne die ursprüngliche Anforderungsmethode zu ändern.
Das obige ist der detaillierte Inhalt vonDie POST-Anfrage kann mit Gin/GoLang nicht in eine GET-Anfrage geändert werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!