あのときの、ほら!あれ、あれ!

SIer勤務のAWSなエンジニア(父)が好きなことをアウトプットして人生のなにがしかに役立てたり役立てなかったりするブログ

REST APIってなんだ?

AWS 認定デベロッパアソシエイト試験の勉強をしているのですが、これまで開発系の案件に入ったことはなく開発言語の基本文法を勉強中な身。そんな状態なのでわからない単語のオンパレードです。。

そもそもそんなやつが試験受けるn(ry

 

で、その中でREST APIという用語が出てきたので

調べてみました。

 

そもそもAPIとは

restと聞いてなんか休息するのかなぁなんて想像を膨らませましたが、まずはAPIってなんだってところからでした。

 

APIApplicationProgrammingInterface

アプリケーションプログラミングインターフェイス

APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用する手順やデータ形式などを定めた規約のこと。

 

多くの開発者さんたちが使うであろう汎用的な機能を呼び出して利用するための手続きを定めたもので、プログラミング言語ごとにどのようにソースコードに記述するべきかを記載しているもの

 

APIは用法によっていろいろ意味が変わるため、単純なHTTP通信などWeb技術を用いて構築されたAPIサービスをWebAPIと呼び大別されることもあります。

 

出典:http://e-words.jp/w/API.html

 

ではそのAPIの中でREST APIってなんぞやということですが

"REST"という設計原則に基づいて開発されたWebAPI

 

で、RESTって?

 

なんだか泥沼にはまりそうですが、じゃぁその設計原則「REST」ってなんぞ?というと。

Representational State Transfer

2000年にRoyFielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。

設計原則は以下4点

 

①セッション状態管理を行わない

→やり取りされる情報はそれ自体で完結して解釈できる

②情報を操作する命令の体系が予め定義・共有されている

③すべての情報は汎用的な構文で一意に識別される

④情報の内部に、別の情報や状態へのリンクを含めることができる

要はシンプルなやり取りでぱっと見わかりやすいように作られたAPIということのようです。

 

出典:http://wp.tech-style.info/archives/683

 

APIは提供されるものを使用するだけではなく、自分自身で開発するということもできるようで、少し興味が湧きました。

今回は片手間で調べたのでまだまだ深堀りできる知識として置いておきます。

次のステップとして考えるのはありかも。