【授業レポート】システム開発(3年) 第42週目
〜APIの世界へ:外部サービスと安全につながる基礎理解〜
第42週目から、いよいよ3年生の学習内容が本格的にスタートしました。
この週はその導入として、APIとは何か/なぜ使うのか/どう安全に使うのかを中心に学び、
2年生までに身につけた「設計力」を外部サービス連携へ拡張する第一歩となりました。
■ 先生の導入:「APIは“外の世界との約束”」
田中先生:「APIは魔法の箱ではありません。
“どう呼び出し、何が返ってきて、失敗したらどうなるか”という約束事の集合です。」
先生はまず、
- 自分たちが作ってきたアプリ
- 外部の天気・地図・翻訳・生成AIサービス
を並べ、「APIは境界を越えるための設計」であることを説明しました。
■ 今日のゴール
- APIの基本概念(リクエスト/レスポンス)を理解する
- REST API の構造(URL・メソッド・パラメータ)を読み取れるようになる
- APIを使う際のリスク(失敗・制限・セキュリティ)を知る
- 2年生で学んだ設計(DAO/Service)のどこにAPIが入るかを理解する
■ 実習①:APIって何?身近な例で考える
先生は身近なアプリを例に問いかけました。
- 天気アプリは、どこから天気を取っている?
- 地図アプリは、どうやって現在地を表示している?
- 翻訳アプリは、どこで言語変換している?
生徒たちは「アプリの中に全部入っているわけではない」ことを再確認。
生徒A:「自分たちのアプリも、外の機能を借りられるんだ」
■ 実習②:REST API の基本構造を読む
次に、APIドキュメントの“読み方”を学習。
REST API の基本要素
- エンドポイント:どこにアクセスするか(URL)
- HTTPメソッド:何をしたいか
- GET(取得)
- POST(作成)
- PUT / PATCH(更新)
- DELETE(削除)
- パラメータ:条件や入力値
- レスポンス:返ってくるデータ(多くはJSON)
例(概念理解用)
GET /weather?city=Tokyo
→ { "temp": 18, "condition": "Cloudy" }
生徒B:「2年生でやったDAOの考え方に似てる!」
→ 先生:「その通り。APIは“外部DAO”と考えると分かりやすい。」
■ 実習③:APIレスポンス(JSON)を読む練習
簡単な JSON データを配布し、
「どの情報を使うか」「どこが不要か」を読み取るワークを実施。
{
"location": "Tokyo",
"current": {
"temp": 18,
"humidity": 60,
"wind": 3.2
},
"updated_at": "2026-01-08T10:00:00Z"
}
- 画面に出す情報は?
- 保存する必要がある情報は?
- 将来使えそうな情報は?
生徒C:「全部使わなくていい、という発想が新鮮だった」
■ 実習④:API利用時の注意点(失敗は前提)
ここで先生が強調したのが**APIの“弱点”**です。
API利用で必ず考えること
- ネットワークエラーが起きる
- レスポンスが遅い
- 仕様が変わる
- 利用回数に制限(レートリミット)がある
- APIキーは漏洩すると危険
田中先生:「
2年生で学んだ例外処理・ログ・フォールバックは、
API時代にそのまま必要になります。」
■ 実習⑤:自分たちのアーキテクチャにAPIを置いてみる
ホワイトボードに2年生で作った構成図を書き、
そこに APIクラス(ExternalService) を追加するワークを実施。
UI
↓
Service
↓
External API Client
↓
外部サービス
- API呼び出しは Service から
- UI から直接呼ばない
- 失敗時は Service が判断する
生徒D:「2年生の設計がそのまま使えるのが嬉しい」
■ ディスカッション:どんなAPIを使ってみたい?
最後に、班ごとに「使ってみたいAPI」を話し合いました。
- 天気API
- 翻訳API
- 地図・位置情報API
- ニュースAPI
- 生成AI API
生徒E:「生成AIを“便利だけど危険にならない”形で使いたい」
■ 先生のまとめのひとこと
「APIは“外の力”を借りる技術です。
だからこそ、設計・責任分離・失敗への備えが重要になります。
2年生で身につけた設計力は、
3年生で“外とつながる”ための最強の武器です。」
■ 宿題(次週に向けて)
- 興味のある API を1つ選び、
- 何ができるか
- どんな入力が必要か
- どんなデータが返るか
を簡単に調べてまとめる
- そのAPIを 自分たちのシステムのどこに組み込むか を図で表す
- 失敗したときに起きそうな問題を3つ挙げる
■ 来週の予告:APIを実際に呼び出してみる(ハンズオン)
次週は、
初めてのAPI呼び出し実装に挑戦します。
リクエストを送り、レスポンスを受け取り、
エラーが起きたときの挙動まで体験する実践回です。
第42週目は、
「自分たちのシステムが“外の世界とつながる”入口に立った週でした。
生徒たちはAPIの可能性と責任の両方を理解し、
3年生の本格的な学びへ大きく踏み出しています。
