PUBLIC
WEBレストAPI6 MIN READ

TERM 034

REST API

リソースをHTTPで操作するAPI設計スタイル

REST APIは、操作対象となるデータを「リソース」としてURLで表現し、HTTPメソッド(GET/POST/PUT/DELETEなど)とステータスコードを用いて作成・取得・更新・削除を行うAPI設計のアーキテクチャスタイルです。

01RESOURCE対象をURLで示す
02METHOD操作をHTTPメソッドで示す
03REPRESENT表現を返す
OVERVIEW

HTTPとリソース指向を用いて設計するAPIのスタイルの全体像。

CONTENTSこの記事の目次

01 — DEFINITION

REST APIとは
何か

REST APIは、操作対象となるデータを「リソース」としてURLで表現し、HTTPメソッド(GET/POST/PUT/DELETEなど)とステータスコードを用いて作成・取得・更新・削除を行うAPI設計のアーキテクチャスタイルです。

02 — HOW IT WORKS

仕組みを
3段階で見る

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

INPUTPROCESSOUTPUT
01RESOURCE

対象をURLで示す

/orders/42のように名詞のURLで一意にリソースを特定する。

02METHOD

操作をHTTPメソッドで示す

取得にはGET、作成にはPOST、更新にはPATCH/PUT、削除にはDELETEなどを使い分ける。

03REPRESENT

表現を返す

適切なステータスコードとJSONなどで現在のリソース表現を返す。

PROCESS

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

03 — ESSENTIALS

押さえるべき
3つの要点

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

01RESOURCE

操作対象

URIで一意に識別できる業務上の概念を設計します。

02STATELESS

要求ごとに完結

処理に必要な情報を各リクエストへ含め、サーバー間で扱いやすくします。

03HTTP SEMANTICS

標準の意味を使う

HTTPメソッド、ステータスコード、キャッシュなどの標準規約を活かします。

04 — REAL WORLD EXAMPLE

注文リソースを更新する

注文42の配送先だけを変更します。

SCENARIO / REST APISTEP BY STEP
  1. 01

    PATCH /orders/42へ変更項目を送る

  2. 02

    認可と入力を確認して更新する

  3. 03

    更新後の表現または204を返す

RESULTURLとMethodから意図を読み取りやすく、HTTPの共通機能を利用できます。

05 — WATCH OUT

理解するときの
注意点

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

01

動詞を含めたURLにしない

/updateOrderのような動詞ベースのURLではなく、対象のリソース名(/orders)とHTTPメソッド(PATCH)を正しく組み合わせます。

02

一貫したエラー形式を持つ

入力誤り、競合、権限不足を機械的に扱える形で返します。

IN ONE SENTENCE

REST APIとは?

HTTPとリソース指向を用いて設計するAPIのスタイル。

KEEP EXPLORING

WEBAPI掲載中WEBHTTP掲載中SECURITYAuthentication掲載中