0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

REST APIとは

Posted at

REST APIとは

REST API(Representational State Transfer API)は、Webアプリケーションやサービス間のインタラクションを容易にするためのプログラミングインターフェースです。これは、リソース(データや機能)をWeb上で表現し、HTTPメソッド(GET、POST、PUT、DELETEなど)を使用してアクセスすることができます。

RESTの6つの原則

RESTはHTTPの設計者の1人であるRoy Fieldingが2000年に提唱したAPIの設計の考え方であり、以下の6つ原則があります。

  • クライアント/サーバー構造:システムはクライアントとサーバーに分離されており、それぞれ独立して機能します。これにより、フロントエンドとバックエンドの開発が独立して進められます。

  • ステートレス:それぞれのリクエストは独立しており、過去のリクエストの情報をサーバーが保持する必要はありません。クライアントからの各リクエストには、それを理解し処理するのに必要なすべての情報が含まれています。

  • キャッシュ可能: システムの応答は、パフォーマンス向上のためにキャッシュ可能であるべきです。適切に管理されたキャッシュは、クライアント-サーバー間のやり取りを減らし、効率を高めます。

  • 統一インターフェース: シンプルで一貫性のある方法でウェブサービスを利用するためのルールです。この原則に従うことで、異なるシステムやアプリケーションが同じ方法でデータや機能にアクセスしやすくなります。

  • 階層化システム: クライアントは通常、エンドポイント以外のネットワークの構造について知らなくても済みます。これにより、システムはより柔軟に構成され、スケールアウトやロードバランシングが容易になります。

  • コードオンデマンド: サーバーは必要に応じて実行可能なコード(JavaScriptなど)をクライアントに送ることができます。

URIとHTTPメソッド

REST APIでは、リソース(例えばデータベース内のレコードや特定のサービス機能)はURI(Uniform Resource Identifier)を通じて識別されます。そして、HTTPメソッド(GET、POST、PUT、DELETEなど)を使用して、それらのリソースに対して操作を行います。以下は各HTTPメソッドの対応表となります。

HTTPメソッド 概要
GET リソースの読み取りや取得に使用
POST 新しいリソースを作成するために使用
PUT 既存のリソースを更新するために使用
DELETE リソースを削除するために使用

REST APIの実装例

例として、「movie」というリソースを対象にしたREST APIを考えます。このAPIでは、映画に関する情報の作成、読み取り、更新、削除(CRUD操作)が可能です。これらの操作は次のようなURIとHTTPメソッドを使用して定義されます。

URI HTTPメソッド 概要
/movies POST 映画を作成
/movies GET 映画のリストを取得
/movies/{movie_id} GET 特定の映画を取得
/movies/{movie_id} PUT 特定の映画を更新
/movies/{movie_id} DELETE 特定の映画を削除

ここでは、{movieId}は特定の映画を識別するためのユニークなIDを表します。URIはリソースを指し示し、HTTPメソッドはそのリソースに対してどのような操作を行うかを示します。例えば、POST /moviesは新しい映画を作成し、GET /movies/{movieId}はIDに基づいて特定の映画の詳細を取得します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?