TERM 001
API
機能を外へ開く、ソフトウェアの窓口
APIは、あるソフトウェアの機能やデータを、別のソフトウェアから決められた方法で利用するための接点です。内部実装を知らなくても、公開された約束に沿ってリクエストを送れば結果を受け取れます。
ソフトウェア同士が機能やデータをやり取りする接点の全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
入出力の約束
利用できる操作、必要な値、返却形式を仕様として共有します。
実装を隠す境界
利用側は内部のデータベースや処理方法を知らずに機能を使えます。
利用を制御する
認証、認可、回数制限、監査をAPIの入口で適用できます。
01 — DEFINITION
APIとは
何か
APIは、あるソフトウェアの機能やデータを、別のソフトウェアから決められた方法で利用するための接点です。内部実装を知らなくても、公開された約束に沿ってリクエストを送れば結果を受け取れます。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
要求を送る
利用側が操作と必要なデータを指定する。
→処理する
提供側が認証や入力を確認して機能を実行する。
→結果を返す
成功データまたはエラーを決めた形式で返す。
APIを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
入出力の約束
利用できる操作、必要な値、返却形式を仕様として共有します。
実装を隠す境界
利用側は内部のデータベースや処理方法を知らずに機能を使えます。
利用を制御する
認証、認可、回数制限、監査をAPIの入口で適用できます。
04 — REAL WORLD EXAMPLE
天気アプリが予報を取得する
画面を開いたとき、アプリは天気サービスのAPIへ都市名を送ります。
- 01
都市名と日付をリクエストへ入れる
- 02
APIが入力と利用権限を確認する
- 03
気温や降水確率をJSONで受け取る
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
仕様変更には互換性が必要
項目名や意味を突然変えると利用側が壊れます。版管理や移行期間を設けます。
失敗は必ず起こる
通信切断、混雑、権限不足を前提に、再試行とタイムアウトを設計します。
IN ONE SENTENCE
APIとは?
ソフトウェア同士が機能やデータをやり取りする接点。
