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を返し、税率、配送オプション、コンプライアンス要件を国コードで決定します。