RESTの背景と基礎知識

2021/10/15 06:00

REST(Representational state transfer)について、話者が最初に出会った体験や、基本的な考え方についてお伝えしました。導入で20分、より丁寧なRESTだけの掘り下げを30分程度の動画で行いました。

話者の体験から

  • REST(Representational state transfer)との出会いは「サーバー間のAPI作成時にどのような作法でやるか」という分野からです。
  • 当時はSOAPによる"オブジェクト操作を基本に考えたAPI公開"が既にあったが、「サーバ側オブジェクトからStubを作成して分配してシステムを作る」という方式について若干の億劫さが感じられた時代でした。
  • RESTは「URL/URIとHTTPメソッドの本来の意味に従って作成するだけで良い」という大変シンプルな考え方の為、大きく広がって今に至ります。
  • また、APIの作成以外のWEBシステムのURLやHTTPメソッドの作成にも影響を与え、現在の主流なWEBアプリケーションフレームワークがRestfulな考え方を踏襲してゆく結果になりました。

現在のWEBシステム開発におけるRESTとは

基本的に以下の2つのルールに則ってシステムを作成する考え方です。このような性質をRESTfulと言ったりもします

  • URLでリソースのある場所を示す(大抵はリソースの名前と、一意のIDにあたるものがあります)
  • HTTPメソッドでリソースの操作を示す(CRUD→GET/POST/PUT/DELETE)

よく見られる形

現在WEBシステムの開発でよく見られるのは以下のような形式でしょう。

HTTPメソッド 意味 冪等性 よく用いられるURL
GET 読み /users, /users/:id
POST 作成, その他 /users
PUT 全体更新 /users/:id
PATCH 部分更新 /users/:id
DELETE 削除 /users/:id

特にPOSTは「困ったらPOSTにしておく方が良い」という考え方があります。

参考

WEBを支える技術 MDN - PATCH Microsift Docs - RESTful Web API の設計

関連記事

この記事を書いた人

佐藤 正志

サークルアラウンド株式会社 代表取締役