プログラミング

【簡単に】REST APIとは?初心者もわかりやすく解説

RESTful APIとは?APIとの違いを解説

本記事ではREST API
わかりやすく解説します

想定読者

  • APIについて知りたい
  • 具体的APIをイメージしたい
  • RESTful APIについて詳しくなりたい

最近、WEB企業へ転職課題で
『APIの作成』をよく見かけます

APIを知らない人は注意

APIについて知らないと
強いwebエンジニアになれません

APIを理解して
強いwebエンジニアになろう!

悩み

APIってなに?

APIの具体例も知りたい!

パロット

APIはシステムとシステムをつなぐ機能のこと

具体的にわかりやすく説明します


本記事でわかること
  1. APIとは、なにかわかる
  2. REST APIとは、なにかわかる
  3. APIにはどんなものがあるのか
  4. APIの作り方がわかる

↓さっそく、見ていきましょう!

REST APIとは?APIとの違いをわかりやすく解説

↓先に『RESTful APIとは?』の結論は、こちら

RESTful APIとは?の結論
(忙しい人向け)

APIとは、システムとシステムをつなげる機能

RESTful APIとは、RESTのルールで作ったAPIのこと

RESTとは、URLとHTTPメソッドでリソースへアクセスする考え方

RESTful APIは略されて、REST APIとも呼ばれる

1つずつ解説します!

REST APIとは何か考える前に、
APIについてを簡単に解説します

APIとは?(具体的にイメージしよう!)

疑問

APIってわかりにくい…

略語はわかるけど、イメージできない…

パロット

APIとは、システムをつなげる機能だよ!

ITの用語です!

APIとは、Application Programming Interfaceの略です。

APIの機能(役割)

APIとは、システムとシステムをつなげる機能

一般的に、Web APIが使われてる
(WEB APIとは、HTTPリクエスト&レスポンスのやり取り)

APIがよく使われる例

  1. 他サービスに情報を提供するとき
    (例. Youtube API、Twitter APIなど)
  2. フロントエンドと、バックエンドでやり取りするとき
    (例は、下のイメージ図で解説します)

APIのイメージ図

WEB APIの具体的な流れイメージをしましょう!

APIまだわからん

リクエストとレスポンスってなに?

イメージ図が欲しい!!

パロット

APIについてイメージ湧かないですよね

あなたのためにAPIの流れを図にしました

WEB APIの流れの例

  1. 自分のアプリケーションから、他のアプリケーションへリクエストする(赤の矢印)
  2. 他のアプリケーションは、データをレスポンスで返す(緑の矢印)

APIとはどういうものかわかりやすくイメージ図にしたもの
APIの流れの具体例
パロット

リクエストとは、サイトへアクセスすること

レスポンスとは、サイトから情報を返すこと

世の中で使われている具体的なAPIの例

具体的に、世の中で使われているAPIを説明します。

↓世の中にたくさんあるAPIの例は、こちら

世の中にあるAPIの例
  • ニュースAPI … ニュースを取得する
  • Youtube API … Youtubeの動画一覧を取得する
  • Twitter API … ツイート一覧を取得する

世の中のAPIの例は、こちら
(イメージついてる人は飛ばしてOK)

APIの具体例1. ニュースを取得する『News API』

News APIとは、
世界中のニュースを取得するAPIです

News APIでできること

  1. 特定のキーワードを含むニュース一覧を取得
  2. 特定のニュースソースのニュース一覧を取得
パロット

ニュースの検索に便利!!

ニュースAPIへリクエストして、ニュース一覧を取得できます。

特定のキーワードでニュースを取得することで、
自分だけのニュースサイトを作ることができますよね

ニュースAPIの利用例はこちらです。

ニュースAPIの利用例
  1. 特定キーワードを含むニュース一覧を取得して、アプリで表示して、ニュースアプリ を作る
  2. 特定のニュースソースのニュース一覧を取得して、ニュースを作成する

APIの具体例2. 動画を取得する『Youtube Data API』

Youtube Data APIとは、
Youtube動画を取得できるAPIです。

Youtube APIでできること

  1. 特定のキーワードを含む動画一覧を取得する
  2. 特定のチャンネルの動画一覧を取得する
  3. 自分の動画の統計情報を取得する
パロット

これだけでサービス作れますよね!

特定のキーワードで、動画を取得できます。

そのほかにも動画の再生数や、いいね数の多い動画などがあります。

人気の高い動画だけ取得することもできるので便利!

Youtube Data APIの利用例はこちらです。

Youtube Data APIの利用例
  1. 『コーヒー』というキーワードを含む動画一覧を取得して、コーヒー動画サイトを作る
  2. 『コーヒーをよく投稿するチャンネル』の動画一覧を取得して、コーヒーノウハウまとめ記事を作る

APIの構成要素(APIとはどういう技術でできてるのか)

APIの構成要素について、解説します!

パロット

仕組みを知って、
作れるようになりましょう!

APIとは、システムとシステムを繋ぐものです。

APIの基本構成

リクエスト&レスポンスでできている

APIの基本動作

他のシステムへ情報を依頼
(リクエスト)
↓↑
他のシステムは情報を依頼主に返す
(レスポンス)

リクエストとレスポンス
について説明します

リクエスト(APIの構成要素)

APIのリクエストとは、他のシステムへ情報を要求することです。

リクエストは、正しくはHTTPリクエストで普段webサイトへアクセスする際の『https://〜』のhttpのことです。

現実世界におけるリクエストのイメージは、このような形です。

現実世界のリクエスト例

  • 例1. お母さんに、醤油を取ってと言うこと
  • 例2. 友達に、レポート出しておいてと依頼すること

システムのリクエスト例

  • 例1. Youtube APIのURLに、HTTPリクエストする
  • 例2. ニュースAPIのURLに、HTTPリクエストする

APIでHTTPリクエストするとは、URLを通してリクエストをすることです。

APIを使ったリクエストを送る際、必要なものはこちらです。

HTTPリクエストの構成要素
  1. URL … リクエスト先
    → http://〜〜の形式
  2. リクエストヘッダー … リクエストの付属情報
    → リクエストに必要な秘密情報や、リクエストの形式など
  3. リクエストパラメータ … 特定キーワード
    → キーワードの例 … コーヒー
    → キーワードの例 … プログラミングなど

レスポンス(APIの構成要素)

APIのレスポンスとは、他のシステムから返ってきた情報です。

現実世界におけるレスポンスの例

現実世界のレスポンス例

  • 例1. お母さんに、醤油を取ってと言うこと
    お母さんが醤油を取ってくれる
  • 例2. 友達に、レポート出しておいてと依頼すること
    友達がレポートを出したくないと拒否する

システムのレスポンス例

  • 例1. Youtube APIのURLに、HTTPリクエストする
    Youtubeが動画一覧を返す
  • 例2. ニュースAPIのURLに、HTTPリクエストする
    ニュース一覧を返す

APIにおけるレスポンスとは他システムから返ってきた情報のことで、APIレスポンスの構成要素はこちらです。

APIレスポンスの構成要素
  1. レスポンス
    → jsonの形式が一般的に使われている
  2. HTTPレスポンスコード
    → 正常なら200
    →クライアント異常終了なら400など

(参考)レスポンスコード
HTTP レスポンスステータスコード

REST APIとAPIの違いは、こちら

RESTとは?APIとの違い

REST APIとの違いについて解説していきます。

RESTとは?

RESTとはREpresentational State Transferの略です。
読み方は『レスト』と読みます。

RESTとは、システム設計の考え方のことです。

ウェブ上のリソース(画像、ファイル、HTMLなど)へアクセスする際の基本的な考え方を提示されており、下記のような考え方を指しています。

RESTとは?

  • HTTPで、webのリソースへアクセスができること
  • HTTPメソッドを適切に利用すること
  • webのリソースは固有のリソースを持っていること

※webのリソースとは…
web上の情報のことで、文章や画像やページのことを指します

RESTful APIとは?

RESTful APIとは『REST』の考え方に沿って作られたAPIのことです。

言い換えると、適切なHTTPメソッドを使い、ウェブ上の固有のURIへアクセスできるAPIのことです。

具体例で考えましょう。

鳥の検索サイトの
RESTful APIの例

鳥のデータベースがあり、
鳥のデータを取得 & 登録 & 削除APIの例

リソースのアクセスHTTPメソッドURL
鳥データ一覧を取得GET/birds
1羽の鳥を取得
GET/birds/3
(3番の鳥を取得)
1羽の鳥をDBへ登録
POST/birds/new
1羽の鳥をDBから削除DELETE/birds/4
(4番の鳥を削除)
1羽の鳥データを更新PUT/birds/5
(5番の鳥データを更新)
RESTful APIの具体例

URL + HTTPメソッドでリソースのアクセスが決めることができます。

RESTful APIとは

  • URL + HTTPメソッドでリソースへアクセスするAPIのこと

RESTful APIとAPIの違いは?

APIとはwebサービスをつなげる機能です。

RESTful APIとはRESTの考え方を使ったウェブリソースへアクセスするAPIのことです。

APIの方が大きい概念で、その中にRESTful APIがあるイメージです。

restful apiとapiの違いの図
RESTful APIとAPIの違い

REST APIのまとめ(エンジニアは一生勉強)

本記事では、
APIについて解説しました

↓本記事のざっくりまとめ

REST APIのまとめ

  • APIとは、システムとシステムをつなぐもの
  • RESTful APIとは、RESTのルールに沿って作られたAPI

エンジニアで生き残るには、
知らないことを少なくするのが重要です

知識の差 = 周りとの差

なにもしないと置いていかれます!

差をつけられないように、
少しずつ勉強しましょう!

WEBエンジニアが
読むべき名著を紹介した記事

(リーダブルコード、達人エンジニア、人月の神話などを紹介)
よかったら、どうぞ

ここまで読んでいただいて、
ありがとうございました!!

毎日少しずつ
強いエンジニアになりましょう!

それでは、また!!