遺失物 API を構築するは、Go の基礎を理解し、HTTP で役立つデータを提供したい学習者向けの実践プロジェクトです。地域の遺失物カタログ用の読み取り専用 API を完成させ、用意された Web サイトで物品を検索し、詳細を開きます。
2 つのガイド付きラボでは、1 件の物品を返す正常なサンプルから、カタログ全体の応答、再利用可能なハンドラー、検索、明確なエラー応答へと進みます。1 つの独立したチャレンジでは、同じ契約を別の遺失物窓口に適用します。各単元には独立した環境とデータが用意され、前のラボのファイルは必要ありません。所要時間の目安は約 120~160 分です。これは読解や通常の修正を含む著者の見積もりです。
学習内容
このコースを修了すると、次のことができるようになります。
- リクエストのパスとメソッドを Go の HTTP ハンドラーおよび JSON 応答に対応させる。
- カタログの全レコードを返し、名前が同じでも ID で個々の物品を区別する。
- カテゴリーとキーワードのフィルターを組み合わせ、両方の条件を満たす結果を返す。
- 空の結果リスト、不正なリクエスト、存在しない物品、未対応のメソッドを区別する。
httptestでハンドラーをテストし、ステータス、応答内容、JSON の形をまとめて確認する。- 提供されたカタログとページを保持しながら、自分の API を実際に読み取る Web サイトを使う。
このコースの対象者
このコースは、学習済みのデータ構造と関数を組み合わせ、小さなサービスを作りたい Go 学習者を対象としています。
前提知識: 基本的なターミナル操作、Go の構造体、スライス、map、関数、モジュール。HTTP 処理、JSON エンコード、明示的なエラー処理、ハンドラーのテストは、使用前に説明します。Web フレームワークやデータベースの経験は必要ありません。
学習環境: LabEx が Go、開始コード、カタログデータ、ブラウザ上の WebIDE を提供します。Workspace ターミナルと Lost and Found Web サイトを使い、ローカルに Go をインストールせずにサービスを作成して試せます。Web サイト、画面のラベル、コマンド、プログラム出力は英語のままです。
よくある質問
Web サイトも作成しますか?
Web サイトは用意されています。実際の検索結果と物品の詳細を提供する Go API が担当範囲です。ページを使い、利用側が応答にどのように依存するかを確認します。
どのツールを使いますか?
net/http、encoding/json、httptest などの Go 標準ライブラリを使います。フレームワーク、データベース、認証システム、並行書き込みは必要ありません。
チャレンジでは何が変わりますか?
レコード、カテゴリー、ID が異なるカタログを使います。同じ名前の物品も含まれます。練習済みの API 契約を自力で適用します。課題は引き続き読み取り専用で、カタログのレコードの追加や削除は範囲外です。


