ついにGo言語API開発の29日目!
今日はこれまでに作ってきたPOST(登録)/GET(取得)APIが
ちゃんと動くかどうかを、実際にPostmanやcurlでテスト&デバッグしてみました。
まぁ、実装よりコード確認ですね。 1日30分のGo言語の学習もなかなか面白かったです。
力にするためには、仕事で使えれば良いのですが、、、
今日の目的
✅ POST /items → JSONデータを受け取り、DynamoDBに登録できるか? ✅ GET /items/{UserID} → 登録されたデータを正しく取得できるか? ✅ エラー時のレスポンスが適切か?(400/404/500など)
テスト準備
起動コマンド(main.go 実行)
go run main.go
ログにこんな表示が出ればOK:
🚀 サーバー起動中:http://localhost:8080
1. POSTリクエストのテスト
curl編
curl -X POST http://localhost:8080/items \ -H "Content-Type: application/json" \ -d "{\"UserID\": \"u999\", \"Name\": \"テスト太郎\", \"Age\": 28}"
期待されるレスポンス
{ "message": "登録成功" }
2. GETリクエストのテスト
curl編
curl http://localhost:8080/items/u999
レスポンス(正常時)
{ "UserID": "u999", "Name": "テスト太郎", "Age": 28 }
レスポンス(存在しないID)
{ "error": "データが見つかりません" }
3. エラーハンドリング確認
条件 | ステータス | 内容 |
---|---|---|
UserID 空でPOST |
400 | UserIDとNameは必須です |
存在しないIDでGET | 404 | データが見つかりません |
DynamoDBとの接続失敗など | 500 | DynamoDBからの取得に失敗しました |
デバッグのポイント
🪵 ログを確認することで、リクエストの流れやエラー箇所を追える!
- 📥 POST /items 受信
- 🔍 GET /items/u999
- ⚠ エラー [400]: UserIDとNameは必須です
ログ出力があると、エラーの特定が本当にラクになります。。
今日のチェックリストまとめ
✔ POSTでDynamoDBにデータが登録の確認ができた ✔ GETで登録済みデータを取得の確認ができた ✔ 存在しないID、入力エラーのときも正しいレスポンスが返ってきた ✔ ログ出力もデバッグに役立った
以上となります。引き続きよろしくお願いいたします。