ホームページ >バックエンド開発 >Golang >Gin/GoLang を使用して POST リクエストを GET リクエストに変更できない

Gin/GoLang を使用して POST リクエストを GET リクエストに変更できない

PHPz
PHPz転載
2024-02-10 19:45:08569ブラウズ

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

php エディター Baicao は、今日よくある問題、つまり、Gin/GoLang フレームワークを使用するときに POST リクエストを GET リクエストに変更する方法を紹介します。特定の状況やテストの便宜などで、POST リクエストを GET リクエストに変換する必要がある場合があります。ただし、この機能の実装はそれほど単純ではなく、いくつかのコツとコードの調整が必要です。次に、この質問に段階的に答えて、この変換を正常に完了できるように支援します。

質問内容

ginフレームワークのgetメソッドでpostメソッドを変更できないようです。リクエストを受信したら、その認証情報を確認し、有効であれば、get エンドポイントを持つ別のページにリダイレクトしたいと考えています。 c.request.method="get" を使用すると、現在のエンドポイントのリクエストのみが変更されるように見えますが、リダイレクトされたエンドポイントには元のメソッド (post メソッド) がまだ残っています。

コード:

リーリー

コード 307リクエストは元々 post リクエストでしたが、エンドポイント自体によって get に変更されました。

実行 c.request.method="get" 役に立ちません。答えも見つからない。この動作を変更する方法はありますか?新しいリクエストを作成することが唯一の解決策ですか?

解決策

307ステータスコードドキュメントの内容:

元のリクエストのメソッドと本文は、リダイレクトされたリクエストを実行するために再利用されます。 GET に使用するメソッドを変更したい場合は、代わりに 303 See Other を使用してください。

したがって、http.StatusTemporaryRedirecthttp.StatusSeeOther に変更すると、元のリクエスト メソッドを変更せずに機能します。

以上がGin/GoLang を使用して POST リクエストを GET リクエストに変更できないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。