REST APIはWebサービスの標準的な通信スタイル。GET/POST/PUT/DELETE・ステータスコード・RESTful設計6原則・GraphQLとの比較を実例付きで解説します。
REST API(Representational State Transfer API)とは、HTTP通信でリソースを操作するWebサービスの設計スタイルです。スマホアプリとサーバー間、マイクロサービス間、外部サービス連携など、現代のWeb開発の至るところで使われています。「RESTful API」とも呼ばれます。
GET
POST
PUT
PATCH
DELETE
REST APIはエンドポイントごとに固定のデータ構造を返しますが、GraphQLはクライアントが必要なフィールドだけを指定して取得できます。オーバーフェッチ(不要データの過剰取得)をGraphQLは防げます。フロントエンドが多様なデータをフレキシブルに必要とするSPAや、BFFパターンとの親和性が高いです。
APIキーはサーバー側で管理する固定の文字列トークン(シンプルだが権限の細分化が難しい)。JWTはBase64エンコードされた署名付きトークンで、ペイロードにユーザーID・権限情報を含みサーバー側でのセッション管理が不要です。現代のWebAPIではJWT(Bearer認証)が広く使われています。
CORS(Cross-Origin Resource Sharing)エラーは、異なるオリジン(ドメイン・ポート・プロトコル)のAPIをブラウザから呼ぶときに、サーバー側がそのオリジンを許可していない場合に起きます。サーバー側でAccess-Control-Allow-Originヘッダーを設定することで解決します。