HackerQuest

No app, no life

趣味と実益を兼ねてプログラマをやっている者👨‍💻

RESTful APIってなんぞや

RESTful APIとは

REST原則を基に、構築されたWebシステムのHTTPでの呼び出しインターフェースのこと。

GoogleとかFacebookとかTwitterとかもRESTfulなサービス!

簡単に言うと、

フロントエンドとバックエンドが完全に独立して開発されているシステムのこと!

いい事

スマホ対応が簡単になるよ!メンテナンス楽になるよ!

フロントエンドがなんでも使えるよ!

RESTとは

REpresentational State Transfer

Webアーキテクチャスタイル

RESTとは、2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。また、狭義には、それをWebに適用したソフトウェアの設計様式のこと。一般には後者の意味で用いられることがほとんどである。

引用:e-Words REST

Roy FieldingさんはHTTPプロトコル作成者の1人であるそうです!尊い😂

メリット

  • APIを利用するサービス開発が楽になる
  • スケーラビリティの向上
  • JSONを利用してデータを受け渡し
    • 使用言語が異なるシステム間でも連携を行うことが容易 JSONについて書いた記事なんとなくJSON

デメリット

  • REST原則に従ってさえいれば記述の自由度が高いため、実装ルールをしっかりと統一化する必要がある。

REST原則

  • アドレス可読性(Addressability URIを介してリソースを端的に指し示せることができる性質を有していること。 すべての情報が一意なURIで表現されるようにすること。
  • ステートレス性(Stateless)  すべてのHTTPリクエストが完全に分離している性質であること。 セッションなどの状態管理は行われないこと。
  • 接続性(Connectability)  ある情報に別の情報へのリンクを含めることができること。 そして、リンクを含めることで、別の情報に接続することができること。
  • 統一インターフェース(Uniform Interface) 情報の取得・作成・更新・削除といった操作はすべて HTTPメソッドを利用すること。

REST原則から分かるように、RESTはHTTPの技術を効果的に活用し、Web技術との親和性が非常に高いと言う点です。

参考

Qiita RESTful API とは何なのか(Qiita)

RESTful APIとは?(RAKUTEN RAPIDAPI BLOG)

Representational State Transfer(Wikipedia)

RESTについて調べたまとめ(Hatena Blog)

FUJITSUラーニングメディア

フロントエンド開発者の僕にもやっとわかった!RESTfulの本当の意味

Ryo Tsuzukihashi