APIとは
異なるソフトウェアやサービスがデータをやり取りし、機能を利用するための仕組み。ソフトウェアのインターフェース。
WebページURLとAPIエンドポイントの違い
APIはURLの一種。
- WebページURL:人がWebページを見るためのアドレス
- APIエンドポイント:プログラムがデータをやり取りするためのアドレス
項目 | URL(Uniform Resource Locator) | APIエンドポイント |
---|---|---|
用途 | Webページやファイルの場所を指定 | データの取得・操作を行う |
アクセス方法 | ブラウザで開くとページが表示される | プログラムがHTTPリクエストでアクセス |
表示内容 | HTMLページ、画像、動画など | JSONやXMLのデータ(構造化された情報) |
例 | https://www.google.com/ |
https://api.example.com/users |
クライアント | 人(Webブラウザを通じてアクセス) | ソフトウェア・プログラム |
構成要素 | プロトコル、ドメイン、パス、クエリパラメータ | ベースURL、リソース名、パス変数 |
動作 | Webサイトの閲覧が主目的 | データの取得・更新・削除が可能 |
REST APIとは
REST API(Representational State Transfer API)は、Web上でデータを送受信するための設計原則に基づいたAPIの一種。
HTTPを活用し、シンプルで柔軟なデータ通信が可能なため、多くのWebサービスで利用されている。
REST APIの特徴
-
ステートレス(State-less)
- 各リクエストは独立しており、サーバー(API提供元)はクライアント(API呼び出す側)の状態を保持しない。
-
HTTPメソッドを利用(HTTPリクエスト作成)
-
GET
→ データ取得 -
POST
→ 新規作成 -
PUT
→ 更新 -
DELETE
→ 削除
-
-
統一されたインターフェース
- シンプルな設計で、異なるシステム間でも利用しやすい。
-
JSONまたはXML形式でデータ交換
- 軽量なJSONが主流であり、可読性が高い。
クエリパラメータとパス変数の違い
概要
REST APIでは、リクエスト時にデータを渡す方法として クエリパラメータ と パス変数 がある。PostmanでAPIを学ぶ中で、違いが気になったので調べてみた。
項目 | クエリパラメータ(Query Parameters) | パス変数(Path Variables) |
---|---|---|
目的 | 検索・フィルタリング・オプションを指定 | 特定のリソースを取得・識別 |
URLの位置 |
? 以降のキーと値(key=value ) |
URLの一部として埋め込まれる |
記述例 | /users?age=30&name=John |
/users/123 (123はユーザーID) |
複数指定 |
& で区切り、複数の条件を設定可能 |
通常1つのリソースIDなど |
データの種類 | 省略可能なオプション的な情報 | 必須のリソース識別情報 |
一般的な用途 | フィルタリング、並び順、ページネーション | IDによる特定、更新・削除 |
HTTPメソッド | 主に GET で利用される |
GET , PUT , DELETE など |
プログラムでの取得方法 | ユーザー入力や設定値から取得 | APIのレスポンスやデータベースから取得 |
参考文献