Navigation

TypeScript の型定義でAPIレスポンスを安全に扱う方法

📅 7月 8, 2025
👤
1 min read

概要

最近のWeb開発では、外部APIとの連携が欠かせない部分となっています。しかし、APIのレスポンスの型が不明確だと、開発中に予期せぬエラーが発生する可能性があります。TypeScriptの型定義を活用することで、APIレスポンスを安全に扱う方法を紹介します。

サンプルコード


interface User {
  id: number;
  name: string;
  email: string;
}

const fetchUserData = async (): Promise<User> => {
  const response = await fetch('https://api.example.com/user');
  const data = await response.json();
  return data as User;
};

// 利用例
const user = await fetchUserData();
console.log(user.id, user.name, user.email);

解説

上記のサンプルコードでは、`User`インターフェースを定義し、APIから取得したデータをその型でキャストすることで、取得したデータの形式を厳密に制御しています。これにより、不適切なデータが入り込むことを防ぎ、開発中に型に関するエラーを事前に検知することができます。

応用例・バリエーション


// 他のAPIエンドポイントとの連携
interface Post {
  id: number;
  title: string;
  content: string;
}

const fetchPostData = async (): Promise<Post> => {
  const response = await fetch('https://api.example.com/post');
  const data = await response.json();
  return data as Post;
};

ベストプラクティス

  • APIレスポンスの型を事前に定義しておくことで、開発効率が向上します。
  • `any`型の使用を避け、具体的な型定義を行うことで、型安全性を確保します。
  • レスポンスのデータが予期せぬ形式を取る可能性も考慮し、適切なエラーハンドリングを行いましょう。

関連技術・参考情報

  • [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/intro.html)
  • [Fetching Data with JavaScript](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Fetching_data)
← Back to JavaScript