boy in green shirt
Photo by CDC on Pexels.com

【授業レポート】システム開発(3年) 第42週目

〜APIの世界へ:外部サービスと安全につながる基礎理解〜

第42週目から、いよいよ3年生の学習内容が本格的にスタートしました。
この週はその導入として、APIとは何か/なぜ使うのか/どう安全に使うのかを中心に学び、
2年生までに身につけた「設計力」を外部サービス連携へ拡張する第一歩となりました。


■ 先生の導入:「APIは“外の世界との約束”」

田中先生:「APIは魔法の箱ではありません。
“どう呼び出し、何が返ってきて、失敗したらどうなるか”という約束事の集合です。」

先生はまず、

  • 自分たちが作ってきたアプリ
  • 外部の天気・地図・翻訳・生成AIサービス
    を並べ、「APIは境界を越えるための設計」であることを説明しました。

■ 今日のゴール

  1. APIの基本概念(リクエスト/レスポンス)を理解する
  2. REST API の構造(URL・メソッド・パラメータ)を読み取れるようになる
  3. APIを使う際のリスク(失敗・制限・セキュリティ)を知る
  4. 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年生で“外とつながる”ための最強の武器です。」


■ 宿題(次週に向けて)

  1. 興味のある API を1つ選び、
    • 何ができるか
    • どんな入力が必要か
    • どんなデータが返るか
      を簡単に調べてまとめる
  2. そのAPIを 自分たちのシステムのどこに組み込むか を図で表す
  3. 失敗したときに起きそうな問題を3つ挙げる

■ 来週の予告:APIを実際に呼び出してみる(ハンズオン)

次週は、
初めてのAPI呼び出し実装に挑戦します。
リクエストを送り、レスポンスを受け取り、
エラーが起きたときの挙動まで体験する実践回です。


第42週目は、
「自分たちのシステムが“外の世界とつながる”入口に立った週でした。
生徒たちはAPIの可能性と責任の両方を理解し、
3年生の本格的な学びへ大きく踏み出しています。

投稿者 greeden

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)