🚀 ニフティ’s Notion

🌞 【Webアプリ2024 #9】REST (ful) APIについて

REST (ful) APIについて

Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、REST原則に従って策定されたものです。引用:https://e-words.jp/w/RESTful_API.html

REST APIではHTTP技術をベースとしており、HTTPメソッド(GET、POST、PUT、DELETE)などのメソッドを使用して、Web サーバーとクライアントアプリケーション間でデータをやりとりするためのAPIの一つ。

HTTPメソッド

HTTP (HyperText Transfer Protocol) は、WebサーバとクライアントのWebブラウザがデータを送受信するために使用する

アプリケーション層のプロトコルです。

リクエストを行う際に「どのような操作を行いたいか」を決定するために使用します。

メソッド名 説明 ユースケース例
GET リソースの取得 SNSで検索する
POST リソースの新規登録 SNSでコメントを投稿する
PUT 既存リソースの更新 or リソース名が特定できている場合の新規作成 SNSでプロフィール情報を更新する
DELETE リソースの削除 SNSで自分のアカウントを削除する

ℹ️ HTTPメソッドはこのように更新や削除が用意されていますが、 HTMLのformタグ GET POST しか対応していないため、更新や削除も POST を利用しているケースもあります。

ステータスコード

HTTPステータスコードとは一番上のレスポンス行で表示される3桁の番号のことです。クライアントのWebブラウザとサーバ間ではHTTPリクエストに対してレスポンスを返すことをします。

ステータスコード 状態 説明 有名なステータスコード
100番台 正常 クライアントからのリクエストを受け入れ可能で、継続して処理されている状態 100 Continue
リクエスト継続可能
200番台 正常 クライアントからリクエストがサーバに送られ理解されて受理された状態です。 200 OK
リクエストが正常に処理できた
300番台 正常 リクエストを完了させるために追加的な処理が必要です。 300 Multiple Choice
リクエストに対して複数のレスポンスがあることを示す
400番台 エラー クライアント(ユーザ)側で操作や入力に不備があった際に出てしまうエラー 404 Not Found
Webページが見つからない
500番台 エラー サーバ側で問題が生じていている際に出てしまうエラー 500 Internal Server Error
何らかのサーバ内で起きたエラー

APIのバージョン管理

APIを設計する際は、バージョンを考慮する必要があります。

APIは一度公開すると基本的には修正できないので、大きく変更を加える場合はバージョンを変更します。

バージョンの表現方法

APIのバージョンを表現する方法は主に以下3つです。


ℹ️ X接頭辞について
HTTPヘッダーに独自の定義を追加する場合はX接頭辞が推奨されていましたが、2012年6月から非推奨となりました。

参考: