<GoLearn/>
HTTP・Web レッスン6

JSON API

encoding/jsonとnet/httpを組み合わせてJSON APIを構築しましょう。

JSON APIの基本

GoでJSON APIを構築するには、encoding/json でデータをシリアライズし、Content-Type ヘッダーを設定してレスポンスを返します。

  • json.NewEncoder(w).Encode(data) — JSON書き込み
  • json.NewDecoder(r.Body).Decode(&data) — JSONの読み取り
  • w.Header().Set("Content-Type", "application/json")

JSONレスポンスの返却

json.NewEncoder で構造体を直接レスポンスに書き込みます。

Goエディタ

リクエストボディのパース

json.NewDecoder でリクエストボディのJSONをデコードします。

Goエディタ

エラーレスポンスの返却

APIエラーも統一されたJSON形式で返すのがベストプラクティスです。

Goエディタ