PUBLIC
WEBエーピーアイ6 MIN READ

TERM 001

API

機能を外へ開く、ソフトウェアの窓口

APIは、あるソフトウェアの機能やデータを、別のソフトウェアから決められた方法で利用するための接点です。内部実装を知らなくても、公開された約束に沿ってリクエストを送れば結果を受け取れます。

01REQUEST要求を送る
02PROCESS処理する
03RESPONSE結果を返す
OVERVIEW

ソフトウェア同士が機能やデータをやり取りする接点の全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01CONTRACT

入出力の約束

利用できる操作、必要な値、返却形式を仕様として共有します。

02BOUNDARY

実装を隠す境界

利用側は内部のデータベースや処理方法を知らずに機能を使えます。

03CONTROL

利用を制御する

認証、認可、回数制限、監査をAPIの入口で適用できます。

01 — DEFINITION

APIとは
何か

APIは、あるソフトウェアの機能やデータを、別のソフトウェアから決められた方法で利用するための接点です。内部実装を知らなくても、公開された約束に沿ってリクエストを送れば結果を受け取れます。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01REQUEST

要求を送る

利用側が操作と必要なデータを指定する。

02PROCESS

処理する

提供側が認証や入力を確認して機能を実行する。

03RESPONSE

結果を返す

成功データまたはエラーを決めた形式で返す。

PROCESS

APIを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01CONTRACT

入出力の約束

利用できる操作、必要な値、返却形式を仕様として共有します。

02BOUNDARY

実装を隠す境界

利用側は内部のデータベースや処理方法を知らずに機能を使えます。

03CONTROL

利用を制御する

認証、認可、回数制限、監査をAPIの入口で適用できます。

04 — REAL WORLD EXAMPLE

天気アプリが予報を取得する

画面を開いたとき、アプリは天気サービスのAPIへ都市名を送ります。

SCENARIO / APISTEP BY STEP
  1. 01

    都市名と日付をリクエストへ入れる

  2. 02

    APIが入力と利用権限を確認する

  3. 03

    気温や降水確率をJSONで受け取る

RESULT天気サービスの内部構造を持たずに、最新の予報を画面へ表示できます。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

仕様変更には互換性が必要

項目名や意味を突然変えると利用側が壊れます。版管理や移行期間を設けます。

02

失敗は必ず起こる

通信切断、混雑、権限不足を前提に、再試行とタイムアウトを設計します。

IN ONE SENTENCE

APIとは?

ソフトウェア同士が機能やデータをやり取りする接点

KEEP EXPLORING

WEBREST API掲載中WEBHTTP掲載中SECURITYAuthentication掲載中