エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
gin(golang)のリクエストボディを複数回読み取る方法 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
gin(golang)のリクエストボディを複数回読み取る方法 - Qiita
TL;DR ginのリクエストボディはread用ストリームで提供されるため、1度読み出すと、再度読み取ることが... TL;DR ginのリクエストボディはread用ストリームで提供されるため、1度読み出すと、再度読み取ることができなくなる ミドルウェアで読み取った結果をginのcontextにセットしておくことで何度でも読み取ることができるようになる 経緯 ginでAPIサーバを実装していて、APIの結果をログに出していた。 gin-contrib/loggerを使ってAPIの本処理の後に呼ばれログを出力するミドルウェアを組み込むような実装をした。 このログにリクエストボディも出力したくなったので、gin.ContextのRequest.Bodyを読み取って出力しようとした。 合わせて、以下のような実装となった。 (なお、話を単純化するめにリクエストボディはJSON等のテキストである前提とする) func GenerateSetLoggerMiddleware() gin.HandlerFunc { r