PUBLIC
WEBレストAPI6 MIN READ

TERM 028

REST API

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

REST APIは、扱う対象をResourceとしてURLで表し、HTTP MethodとStatus Codeを使って状態を取得・作成・変更・削除するAPIの設計スタイルです。

01RESOURCE対象をURLで示す
02METHOD操作をMethodで示す
03REPRESENT表現を返す
OVERVIEW

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

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01RESOURCE

操作対象

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

02STATELESS

要求ごとに完結

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

03HTTP SEMANTICS

標準の意味を使う

Method、Status、Cacheの既存ルールを活かします。

01 — DEFINITION

REST APIとは
何か

REST APIは、扱う対象をResourceとしてURLで表し、HTTP MethodとStatus Codeを使って状態を取得・作成・変更・削除するAPIの設計スタイルです。

02 — HOW IT WORKS

仕組みを
3段階で見る

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

INPUTPROCESSOUTPUT
01RESOURCE

対象をURLで示す

/orders/42のように名詞として識別する。

02METHOD

操作をMethodで示す

GET、POST、PATCH、DELETEなどを選ぶ。

03REPRESENT

表現を返す

状態コードとJSONなどで現在の表現を返す。

PROCESS

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

03 — ESSENTIALS

押さえるべき
3つの要点

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

01RESOURCE

操作対象

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

02STATELESS

要求ごとに完結

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

03HTTP SEMANTICS

標準の意味を使う

Method、Status、Cacheの既存ルールを活かします。

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より、ResourceとHTTP Methodの役割を分けます。

02

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

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

IN ONE SENTENCE

REST APIとは?

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

KEEP EXPLORING

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