• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Rakuten RapidAPI Blog

The World's Largest API Marketplace

  • エンタープライズ向け
    • プロダクト
    • お問い合わせ
  • スタートアップ向け
    • プロダクト
    • 無料で登録
  • お役立ち資料
    • ドキュメント
  • 日本語日本語
    • EnglishEnglish
現在の場所:ホーム / API ブログ / RESTful APIとは?

RESTful APIとは?

2019年 3月 20日 By rakuten コメントを書く

Table of Contents

    • 0.1 Webやスマホアプリ開発に欠かせないRESTful APIとは?
  • 1 RESTful APIの概要、REST、4つの原則とは?
    • 1.1 1.アドレス可能性
    • 1.2 2.ステートレス性
    • 1.3 3.接続性
    • 1.4 4.統一インターフェース
  • 2 RESTful APIをつくるための条件
    • 2.1 1.「作成/取得/更新/削除」の4つのHTTPメソッドを使い分けて設計する
    • 2.2 2.ステートレスである
    • 2.3 3.通常のHTTP通信と同様にステータスコードを返す
  • 3 RESTful APIのメリット
    • 3.1 1.モバイルアプリケーションへの対応が容易になる
    • 3.2 2.インフラ構築の手間を大幅に削減できる
  • 4 RESTful APIのデメリット
    • 4.1 1.設計の自由度が高い反面、実装ルールの統一性がない
    • 4.2 2.仕様や定義に関する要素がない
  • 5 RESTful APIが容易にするWeb、スマホアプリ開発
    • 5.1 Share this:

Webやスマホアプリ開発に欠かせないRESTful APIとは?

 

REpresentational State Transferの略であるREST。RESTful APIは、基本的に「RESTの原則」に従って実装されているWebシステムのHTTPでの呼び出しインターフェースのことを指します。そのため、広義には、「REST APIとRESTful APIは同じものである」といっても間違いではありません。では、RESTful APIとは具体的にはどういったものなのでしょうか? 今回はRESTful APIの概要や原則、そしてRESTful APIを使うことのメリットとデメリットについて紹介します。

restful api

RESTful APIの概要、REST、4つの原則とは?

RESTは、HTTPプロトコル作成者の一人であるRoy Fieldingによって2000年頃に提案されたもので、分散アプリケーションを構築する際に、複数のソフトウェアを連携させるのに適した設計原則の集合(もしくはその考え方)を示すものです。また、RESTful APIは、次の4つのRESTの原則に従って設計されたAPIとなります。

1.アドレス可能性

URIを通じ、リソースを端的に指し示すことができる性質を有していること。APIのバージョン、データを取得するのか、それとも更新するのか、などが一目でわかるように、すべての情報が一意なURIで表現されるようにすること。

2.ステートレス性

すべてのHTTPリクエストが完全に分離している性質であること。セッションなどの状態管理は行われないこと。

3.接続性

ある情報に「別の情報へのリンク」を含めることができること。そして、リンクを含めることで「別の情報に接続すること」ができること。

4.統一インターフェース

情報の取得、作成、更新、削除といった操作は、すべてHTTPメソッドを利用すること。この場合のHTTPメソッドとは、取得「GET」、作成「POST」、更新「PUT」、削除「DELETE」となる。

以上が4つの原則になります。この4つの原則を見てもわかるように、RESTの大きな特長はHTTPの技術をこれ以上ないほど効果的に活用したものであり、Web技術との親和性が高いという点です。そのため、現在ではさまざまなWebサービスやWebアプリケーションの開発に活用されています。

特に最近はスマートフォンの普及もあり、パソコンだけではなく、モバイルでも業務システムを利用できるようにするのが当然と考えられるようになりつつあります。また、一つのシステムだけでなく、複数のシステムや多様なWebサービスと連携できるシステムでないとユーザーに選択されない時代です。こうした課題を解決するうえでも、RESTful APIは欠かすことのできないものとして大きな注目を浴びています。

RESTfulを試す

RESTful APIをつくるための条件

続いては、「どういった形で作られたものがRESTful APIと呼ばれるのか?」、「その条件とはどういったものなのか?」について説明します。これは前項で説明したREST(4つの原則)にも関わってくるものです。基本的にRESTful APIはシンプルで簡潔なものであり、誰もが開発できることが重要です。また、APIの利用者から見て容易に理解できるものでなければなりません。そのためには、次の3つの条件を兼ね備えている必要があります。

1.「作成/取得/更新/削除」の4つのHTTPメソッドを使い分けて設計する

基本的に、この4つの処理でほとんどのシステム処理を完結させることができ、かつ目的に応じて4つの処理に対応するHTTPメソッドを指定することが必須となります。

2.ステートレスである

前項でも触れましたが、RESTful APIは、どういった時であっても、誰であっても、どういった状況であっても、アクセスすれば必ず同じ結果を返さなければなりません。これによってRESTful APIは、別の開発者やAPI利用者が見たときも容易に理解することが可能となります。
この設計思想は、URLの設計においても同様です。誰が見てもすぐにAPIであることがわかるようにすること、短いURLのなかにAPIのバージョン、リソースの関係性を含めつつ、アプリケーションや言語に依存する拡張子は含めないなど、あらゆる場面でシンプルかつ簡潔であるという思想が反映されています。

3.通常のHTTP通信と同様にステータスコードを返す

すでに何度か説明しているように、RESTful APIはHTTPメソッドを利用したAPIです。そのため、通常のHTTP通信と同様に、URLを入力した際に「成功」(200)、「リダイレクト」(302)、「不明」(404)、「失敗」(500)といったステータスコードが返ってくるようにしなければなりません。

RESTfulを試す

RESTful APIのメリット

ここまでは、RESTful APIの概要、作るための条件について説明してきました。これらを踏まえたうえで、RESTful APIを活用することにより生じるメリットについて説明していきます。

1.モバイルアプリケーションへの対応が容易になる

モバイルは「いつでもどこからでも情報にアクセスできる」というのが大きなメリットになります。その反面、場所によっては通信環境が悪く、特にデータ量が大きなものになると、待機時間が長くなったり、画面が固まって操作できなくなってしまったり、といった不具合が生じる場合があります。これはクライアントがサーバーのアプリケーションにHTTPリクエストを送った際に、画面(HTML)で返そうとすることから生じる問題です。

一方、RESTful APIの場合は、HTTPリクエストに対し、JSON形式やXML形式といった、データのみを返します。画面(HTML)ではなく、軽量のデータなので、加工も容易で、通信環境が悪い場所であっても、「待機時間が長くなる」とか、「操作性が低くなる」といった不具合が起こりづらくなります。これは、モバイルアプリケーションへの対応はもちろん、外部システムとの連携においても大きな効果を発揮します。

2.インフラ構築の手間を大幅に削減できる

現在、業務効率化やサーバーの運用管理にかかわるコスト削減のほか、BCP対策(事業継続計画:災害や事故といった不測の事態が起きても事業が継続できる対策をとっておくこと)の一環として、オンプレミスからクラウドサービスへと移行する企業が増えています。クラウドサービスの多くは、クラウド上でのインフラ環境構築や運用管理を制御する際に必要となるRESTful APIを提供しています。これを活用することで、これまで手動で行っていた構築作業から解放されるようになります。その結果、手間を大幅に削減でき、作業ミスによる障害発生リスクの減少も実現されます。

RESTful APIのデメリット

RESTful APIには、メリットだけでなく、デメリットもあります。より理解するためにRESTful APIのデメリットについても紹介しておきましょう。

1.設計の自由度が高い反面、実装ルールの統一性がない

基本的にRESTful APIは、RESTの原則に沿ってさえいれば、記述自体は自由度の高いAPIといえます。もちろん、自由度が高いことが汎用性につながり、普及したという側面もあります。しかし、実装ルールに統一性がないため、「十分に理解しないまま作られた、あやふやなRESTful APIが増えている」という弊害も生じています。

2.仕様や定義に関する要素がない

これも「RESTful APIの自由度の高さ」からくるデメリットです。RESTful APIが「どのような仕様であるのか?」、「どういった動作をするのか?」といったことを定義する要素がありません。そのため、ドキュメントと実装したときの乖離が発生しやすくなり、外部プログラムが動作を読み取ったり、想定したりすることができない、というデメリットが生じる場合があります。

RESTfulを試す

RESTful APIが容易にするWeb、スマホアプリ開発

RESTful APIを活用すると、アプリケーションをゼロからすべて自分で構築する場合に比べて、大幅な工数削減を実現できます。作業ミスによる障害発生のリスクも減少します。これは開発者にとって非常に大きなメリットであり、Webやスマホアプリ開発の効率アップに大きく貢献してくれます。

Rakuten RapidAPIでも、RESTful APIが豊富に取り揃えられています。構文、DNS、SMTP、電子メールアドレスに対する高度な検証と検証のチェックを実行する「Email Verification」。多くのテレビ番組情報にアクセスして統合することができる「epguides-api」。Webサイトやアプリにテレビ情報を追加する「TVMaze」など、数多くのAPIを利用することが可能なので、ぜひ活用してみましょう。

Rakuten RapidAPI

参考:

  • Rakuten Rapid API
  • 時代はAPIファースト!? イマドキの業務システム開発ことはじめ 第1回 なぜ流行っている?「REST API」|富士通ラーニングメディア
  • RESTful APIとは何なのか|Qiita

 

Share this:

  • Facebook で共有するにはクリックしてください (新しいウィンドウで開きます)
  • クリックして Twitter で共有 (新しいウィンドウで開きます)
  • クリックして LinkedIn で共有 (新しいウィンドウで開きます)
  • クリックして Reddit で共有 (新しいウィンドウで開きます)

Filed Under: API ブログ 関連タグ:RESTful API

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最初のサイドバー

DXを促進しよう!

エンタープライズ版を利用すると、社内APIや社内の複数部署に存在するAPIをセキュリティを担保しながら一元管理でき、プロダクトのリリースをより高速で行うことができます。

もっと詳しく
  • エンタープライズ向け
  • スタートアップ向け
  • お役立ち資料
  • 日本語日本語

© 2022 Rakuten RapidAPI. All rights reserved.