Aller au contenu
login
arrow_backRetour aux issues
NUTFes/quizApp #78

【初心者T2】GET /images/... で画像を配信する

ecoDébutant good first issue backend

descriptionDescription

**バックエンドの最初の1本。** まず全員がこれで「書く → 登録する → curl で叩く」の1周を体験します。 > 📘 **先に読むもの**: [`dev_policy/初心者タスク共通の実装手順書.md`](../blob/main/dev_policy/初心者タスク共通の実装手順書.md) > 環境の起動・ブランチの切り方・CI の通し方・PR の出し方は全部そこにまとまっています。この Issue には**このタスク固有のこと**だけ書いてあります。 ## ①ゴール サーバーに置いた画像ファイルを `GET /images/ファイル名` で配信する(**認証なし**)。→ [`API仕様書.md`](../blob/main/docs/実装要件/API仕様書.md) **§6** ``` backend/static/images/test.png を置く ↓ http://localhost:3000/images/test.png がブラウザで表示される ``` ## ②触ってよいファイル - `backend/internal/platform/router.go` — 静的配信を**1行**足す - `backend/static/images/` — フォルダを作る(`.gitkeep` を置く) ## ③写経元・参考 - `backend/internal/platform/router.go` の既存の `r.GET("/api/health", ...)` の並び - Gin の静的配信: https://gin-gonic.com/ja/docs/routing/ の `router.Static` ## ④動作確認方法 ```bash mise run up # 適当な画像を backend/static/images/test.png に置く curl -I http://localhost:3000/images/test.png # 200 と Content-Type: image/png ``` - [ ] ブラウザで `http://localhost:3000/images/test.png` を開くと画像が表示される - [ ] **認証ヘッダ無しで見える**こと(参加者のスマホから見えないと困る) - [ ] 存在しないファイル名は 404 - [ ] `curl -i http://localhost:3000/api/health` が 200 のまま(既存を壊していない) ## 💡 このタスクで学ぶこと **コードはほとんど書きません。** 目的は「1行足して、再ビルドされて、curl で確認できる」という開発の1周を体験することです。 引っかかりやすいのは次の2つです。 - **保存してもすぐ反映されない** … コンテナの中で air が再ビルドしています。数秒待つか、`docker compose logs -f backend` を開いて `running...` を待ってください。`Connection reset by peer` はビルド中のサインです - **画像をコミットしてよいか** … `test.png` は動作確認用なのでコミット不要です。**フォルダだけ `.gitkeep` でコミット**してください ## ⚠️ 注意 **本番の問題画像はこの Issue でコミットしないこと。** このリポジトリは public です。当日使う画像は本番サーバーに直接置きます。
codeOuvre sur GitHub