miyachinこんにちはMIYACHIN(@_38ch)です。この記事では、ソフトウェアエンジニアとして転職活動をしている人に向けて、RESTの概念に関して書いていきます。APIを使って開発していたとしても、いざ「RESTって何ですか?」と聞かれても回答に困ってしまうかもしれません。ここら辺が回答できていれば問題ないだろうというポイントを掻い摘んで紹介していきます。Transferを意味する「アーキテクチャスタイル」です。Fieldingが示した、設計原則は主に以下の4つと言われています。DELETE」の形で、「ユニークなURL」にリクエストを送り、「JSONやXMLなどの形でレスポンス」を受け取る設計と言えます。具体的にどんなURLで設計されているかを見てみると以下のような感じです。Methodで指定しているのがポイントですね。これがユニークなURLといわれる所以です。RESTのメリットは以下のものが挙げられます。標準的なデータフォーマット(JSONなど)を扱うことでほかサービスとの連携が容易になるステートレスとは何かに関しては、突っ込まれると辛いので、こちらの記事をチラ見しておきましょう。ステートレスとは何かhttp://yohei-y.blogspot.com/2007/10/blog-post.html対立概念としてのSOAPも覚えておこうRESTの話をするときによく出てくるSOAPというものがあるので、こちらもさらっと頭の中にいれておきましょう。Protocolの略で、こちらもWebAPIの設計思想です。RESTとの違いは端的に言うと、「リソース(名詞)指向」か「サービス(動詞)指向」かということで、つまり、RESTのURLには名詞のみが出てきますが、SOAPの場合はそれが動詞になっていたりします。厳密な型チェックや、複雑なデータの入出力という面に関しては、SOAPに軍配が上がるのですが、学習コストや、導入の容易性の面から、そして極め付けは、2000年以降のWeb2.0の流れの中で、AmazonやGoogleなどの企業がRESTの形式でAPIを提供しはじめ、RESTスタイルが多くの人に受け入れられて行くようになりました。SOAPhttp://xmlconsortium.org/wg/web2.0/teigensho/4--REST-SOAP.htmlRESTの次にくるGraphQL?SOAPからRESTの時代になりましたが、RESTにも以下のような課題はあります。(一部のみを掲載)APIドキュメントの管理がしんどい1ページ表示するのに、何個もAPIを叩く必要があるGraphQLはこのような問題を解決してくれるということで注目を浴びています。言え、GraphQLという言葉が聞かれ始めて、それなりの時間が経ちますが、まだまだRESTを採用している会社が多いので、触りの部分だけ覚えておくだけで良いかもしれませんね。この記事では、RESTの概念について解説しました。MEMIYACHIN飽き性な性格です。大学時代は経済学を専攻しましたが、在学中にサービス開発の楽しさに目覚め、1年の修行(フリーター)期間を経て、IBMにエンジニアとして入社。プライベートでは、Walicaという複数人複数回の立替え清算計算サービスを作っています。FameThemes。