REST APIとGraphQLでの国コードの使用

APIでの国コード実装のベストプラクティス。RESTとGraphQLエンドポイントでのフィールド命名、バリデーション、フィルタリング、フォーマットパターンを解説します。

Programming

詳細な説明

API設計における国コード

国コードはAPIで最も一般的なフィールドの1つです。フォーマットとバリデーションを正しく設定することで、システム全体の問題を防ぎます。

フォーマットの選択

フォーマット 使用場面
Alpha-2 "US" ほとんどのAPIのデフォルト選択
Alpha-3 "USA" 貿易、金融、または可読性が必要な場合
数字 "840" 文字に依存しないシステム

推奨: デフォルトとしてalpha-2を使用してください。

バリデーション

const ALPHA2_REGEX = /^[A-Z]{2}$/;

function validateCountryCode(code) {
  const upper = code.toUpperCase();
  if (!ALPHA2_REGEX.test(upper)) {
    return { valid: false, error: '正確に2つの大文字でなければなりません' };
  }
  return { valid: true };
}

GraphQLスキーマ

enum CountryCode {
  US
  GB
  JP
  DE
}

type Address {
  street: String!
  city: String!
  country: CountryCode!
}

ユースケース

マルチリージョンSaaSプラットフォームがREST APIでユーザープロファイル、請求先住所、配送先にalpha-2国コードを使用します。APIはすべてのコードをISO 3166-1に対して検証し、無効なコードには422を返し、税率、配送オプション、コンプライアンス要件を国コードで決定します。

試してみる — Country Code Reference

フルツールを開く