Maison > développement back-end > Golang > Impossible de modifier la requête POST en requête GET à l'aide de Gin/GoLang

Impossible de modifier la requête POST en requête GET à l'aide de Gin/GoLang

PHPz
Libérer: 2024-02-10 19:45:08
avant
568 Les gens l'ont consulté

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

l'éditeur php Baicao vous présentera aujourd'hui un problème courant, à savoir comment changer la requête POST en requête GET lors de l'utilisation du framework Gin/GoLang. Parfois, nous pouvons avoir besoin de convertir une requête POST en requête GET, comme dans certaines situations spécifiques ou pour faciliter les tests. Cependant, la mise en œuvre de cette fonctionnalité n’est pas si simple et nécessite quelques astuces et ajustements de code. Ensuite, nous répondrons à cette question étape par étape et vous aiderons à réussir cette conversion.

Contenu de la question

Je n'arrive pas à changer la méthode post avec la méthode get dans le framework gin. Lorsque je reçois une demande, je souhaite vérifier ses informations d'identification et, si elles sont valides, rediriger vers une autre page avec un point de terminaison get. Chaque fois que j'utilise c.request.method="get", cela semble modifier uniquement la requête du point de terminaison actuel, mais celui redirigé a toujours la méthode d'origine, qui est la méthode de publication.

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")
})
Copier après la connexion

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

Exécuter c.request.method="get" n'aide pas. Je ne trouve pas non plus la réponse. Une idée sur la façon de changer ce comportement ? La création d'une nouvelle demande est-elle la seule solution ?

Solution de contournement

Code d'état 307 Documentation dit :

La méthode et le corps de la requête d'origine sont réutilisés pour effectuer la requête redirigée. Si vous souhaitez modifier la méthode utilisée en GET, utilisez plutôt 303 See Other.

Donc, si vous changez http.StatusTemporaryRedirect 更改为 http.StatusSeeOther, cela fonctionnera sans changer la méthode de demande d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal