REST / RESTful APIさらっとまとめ
- そもそもRESTとは
- そもそもAPIとは
- RESTful APIとは
- RESTful APIのメリット
- 参考文献
- おわりに
Representational State Transfer (REST) は、ウェブのような分散ハイパーメディアシステムのためのソフトウェアアーキテクチャのスタイルのひとつである。
(Wikipediaより)
REST(REpresentational State Transfer)はWebサービスの設計モデルのこと。RESTなWebサービスは、そのサービスのURIにHTTPメソッドでアクセスすることでデータの送受信を行う。
RESTは4つの設計原則があり、
1. ステートレス性(Stateless)
セッションなどの状態管理を行わない。(やり取りされる情報はそれ自体で完結して解釈することができる)
2. 統一インターフェース(Uniform Interface)
情報を操作する命令の体系が予め定義・共有されている。(HTTPのGETやPOSTメソッドなど)
3. アドレス可能性(Addressability)
すべての情報は汎用的な構文で一意に識別される。(URLやURIなど)
4. 接続性(Connectability)
情報の内部に、別の情報や(その情報の別の)状態へのリンクを含めることができる。
この原則に従ったWebサービスをRESTfulなサービスという
API(Application Programming Interface)とは、何かしらのサービス提供者が、そのサービスを利用するために提供するインタフェースのこと
RESTful APIとは、Webシステムを外部から利用するためのプログラムの呼び出し規約(API)の種類の一つで、RESTと呼ばれる設計原則に従って策定されたもの。RESTそのものは適用範囲の広い抽象的なモデルだが、一般的にはRESTの考え方をWeb APIに適用したものをRESTful APIと呼んでいる。
(e-Wordsより)
要はRESTの原則に則って構築されたWebシステムのHTTPでの呼び出しインターフェースのこと
- URIに規則が生まれることで、利用する開発者が把握しやすく実装しやすい
- ブラウザへURIを入力するだけでリソースの参照ができる
- ステートレスであり、サーバ・クライアント間で何も共有しないため、負荷に応じたスケーラビリティを向上することができる
- HTTP標準のメソッドを使うことで、シンプルかつ一貫性のあるリクエストを円滑に行うことができる
- RESTfulAPIを公開することで、標準的なデータフォーマットを使い多様なアプリケーションを提供することができる
https://ja.wikipedia.org/wiki/Representational_State_Transfer
https://qiita.com/TakahiRoyte/items/949f4e88caecb02119aa
http://e-words.jp/w/RESTful_API.html
http://wp.tech-style.info/archives/683
https://qiita.com/masato44gm/items/dffb8281536ad321fb08
https://qiita.com/kamihork/items/f9d31c03505028d8a9e9
慣れるには手を動かすのみだけど、読みものとしてここら辺読んだら面白かった
翻訳: WebAPI 設計のベストプラクティス
GoogleのWebAPI設計とWebAPI設計のベストプラクティスを比較してみる
RESTful API設計におけるHTTPステータスコードの指針