REST APIについて学習したので、まとめていきたいと思います。
APIって何?
API = ApplicationProgramInterface
- 他のサービスの情報や機能を利用可能にする仕組み
RESTとは?
REST(REpresentational State Transfer)
6つの制約条件
- クライアントサーバー: ユーザーインターフェースとデータ処理の分離。
- 階層化システム: システムの階層的構造による拡張性の向上。
- コードオンデマンド: 必要に応じてクライアントにコードを送信。
- 統一インターフェース: 標準的なHTTPメソッドによるリソース操作。
- キャッシュ制御: クライアントとサーバーの通信回数と量を減らすことでの通信効率向上。
- ステートレス: 各リクエストの独立性。
上記に基づいて実装されたAPIをREST APIと呼びます。
movieリソースを操作するためのREST API設計例
下記の表では、/movies
は映画の一覧または映画に関する情報のリソースを表し、/movies/12345
の数字部分は特定の映画(リソース)のIDを示しています。HTTPメソッド(GET、POST、PUT、DELETE)は、リソースに対する操作(読み取り、作成、更新、削除)を指定するために使用されます。
操作 | URI | HTTPメソッド |
---|---|---|
映画一覧の取得 | /movies |
GET |
特定の映画をIDで取得 | /movies/12345 |
GET |
映画の新規登録 | /movies |
POST |
特定の映画の更新 | /movies/12345 |
PUT |
特定の映画の削除 | /movies/12345 |
DELETE |