エンジアップ エンジアップ

もう迷わない。ITエンジニアのための総合情報サイト

REST APIとは何か?Webの仕組みを初心者向けに解説
投稿
X LINE B! f

REST APIとは何か?Webの仕組みを初心者向けに解説

「このアプリはAPIを使っています」「REST APIで連携します」——こんな言葉を耳にしたことはないでしょうか。APIはWeb開発において欠かせない概念ですが、「具体的に何のことか」を説明できる初心者は多くありません。本記事では、APIとREST APIの仕組みを初心者にわかりやすく、具体的な例を交えながら解説します。

Ⅰ. APIとは何か

1. レストランで例えるAPI

API(Application Programming Interface)とは、異なるソフトウェア同士が情報をやり取りするための窓口です。

わかりやすいたとえとして「レストランのウェイター」があります。

  • 客(あなた) = アプリやブラウザ(クライアント)
  • ウェイター = API
  • 厨房(シェフ) = サーバーやデータベース

客は厨房に直接入ることはできず、ウェイターを通じて注文し、料理を受け取ります。同様に、アプリはサーバーに直接アクセスするのではなく、APIを通じてデータを要求し受け取ります。

2. 身近なAPIの例

APIは私たちの日常のあちこちに使われています。

  • 天気予報アプリが気象庁のデータを表示できるのは、気象データAPIを利用しているから
  • SNSアカウントで別サービスにログインできるのは、OAuth APIを利用しているから
  • Googleマップを自社サイトに埋め込めるのは、Google Maps APIを利用しているから

Ⅱ. REST APIとは何か

1. RESTとは

REST(Representational State Transfer)とは、WebAPIを設計するための考え方・スタイルのことです。「RESTful」な設計に従ったAPIを「REST API」と呼びます。

REST APIの大きな特徴は、URLがリソース(データ)を表し、HTTPメソッドが操作を表す点です。この設計思想により、APIのURLを見るだけで「何に対して何をするのか」が直感的に理解できます。

2. URLとリソースの対応関係

URL意味
/usersユーザー一覧
/users/1ID=1のユーザー
/users/1/postsID=1のユーザーの投稿一覧
/products商品一覧
/products/42ID=42の商品

Ⅲ. HTTPメソッドを理解する

1. 4つのメソッドとCRUD操作

REST APIでは、URLで「どのデータか」を指定し、HTTPメソッドで「何をするか」を指定します。

HTTPメソッド操作意味
GETReadデータを取得するユーザー一覧を取得
POSTCreateデータを新規作成する新しいユーザーを登録
PUT / PATCHUpdateデータを更新するユーザー情報を変更
DELETEDeleteデータを削除するユーザーを削除

たとえば「ID=5のユーザー情報を取得したい」場合は、GET /users/5 というリクエストを送ります。「新しいユーザーを登録したい」場合は POST /users に必要なデータを添えて送ります。

2. HTTPステータスコード

APIへのリクエストに対してサーバーは「ステータスコード」と呼ばれる3桁の数字で結果を返します。

ステータスコード意味よく見るケース
200 OK成功GETで正常にデータを取得できた
201 Created作成成功POSTで新規データが作られた
400 Bad Requestリクエストが不正必要なパラメータが足りない
401 Unauthorized認証が必要ログインが必要なAPIにアクセスした
404 Not Found見つからない存在しないリソースへのアクセス
500 Internal Server Errorサーバーエラーサーバー側でバグが発生した

Ⅳ. 実際にAPIを叩いてみる

1. コマンドラインで試す

APIはターミナルから curl コマンドで手軽に試せます。

(1) GETリクエスト

以下は無料で公開されているサンプルAPIを叩く例です。

curl https://jsonplaceholder.typicode.com/users/1

実行すると、JSON形式のユーザーデータが返ってきます。

(2) POSTリクエスト

curl -X POST https://jsonplaceholder.typicode.com/posts 
     -H 'Content-Type: application/json' 
     -d '{"title": "テスト", "body": "本文", "userId": 1}'

2. 無料で試せるサンプルAPI

サービス名内容特徴
JSONPlaceholder投稿・ユーザー・コメントなどのダミーAPI登録不要でそのまま使える
OpenWeatherMap API天気情報API無料枠あり。実用的なデータで練習できる
The Dog API犬の画像APIシンプルで楽しく試せる入門向け
Pokémon API(PokeAPI)ポケモンデータAPI無料・登録不要で豊富なデータ

Ⅴ. まとめ

REST APIは「URLでリソースを指定し、HTTPメソッドで操作を指定する」というシンプルな設計思想に基づいています。この仕組みを理解すると、世の中のWebサービスがどのように連携しているかが見えてきます。まずはJSONPlaceholderを使ってGETリクエストを試し、次にPOSTやDELETEと組み合わせることで、REST APIの感覚を体で覚えていきましょう。APIを扱えるエンジニアへの第一歩は、実際に手を動かすことから始まります。