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.
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") })
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 ?
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!