Musicプログラマー備忘録やお酒や音楽この広告は、90日以上更新していないブログに表示しています。・自分で作ったり拡張するときににはどう作ればいいかとか、知っておかないとできないことが多くなります。その都度悩んで自己流にやるのは効率悪い。頭のいい人が作った設計思想があるのならこれに乗っかるしかないっ!というところでいろいろ知ることによって選択の余地も広がるので設計思想とかそこらへんを少し勉強しておこうかなーっとちょっと調べたました。なんで最初にRESTfulを選んだかというと、WEBプログラマーやってたのに知らないのwwwと某プログラマーに煽られたのでこの悔しさが少しでもバネになればと思ったからです。調べてみるとこれまで何気なく使ってたケースが多々ありました。これがRESTに沿って作られていることを知らなかっただけです。(言い訳)まあ、意識してきちんと作るのとなんとなくな感じで作っていくのでは雲泥の差がりますので、いい機会と思ってしっかりと理解しようと思います。Transfer翻訳すると、具象的な状態に移す?みたいな感じでしょうか。Wikipediaには以下のようにありました。・FieldingのRESTアーキテクチャスタイルの原則に合わせたWebサービスシステム。インターフェイスを採用したシステムうーん英語ばかりでわからない。Callの略)で、要は別のコンピュータのに存在する処理を使用すること。・WEB上にサービスを公開するときのルール。ちなみに前回記載したAOuthの実装に関してもこのルールに沿って実装されています。RESTfulはなに?RESTfulはREST設計思想の仕様を満たしているサービスとのことを指します。REST(のルール)をfull(満たしている)ってことなんですね。Heartfullとかと似た感じでしょう。ちなみにRESTを熱心に支持する人を、RESTafariansと呼んだりするらしいです。ゆう感じで使われているの?RESTは前途したとおり設計思想であって技術ではありません。RESTFulなAPIはJavaとかRubyとかPHPとかいろいろな言語で実装できます。ルールさえ守ってればそれでいいのです。ユーザーIDが10のユーザー情報を取得するAPIを公開するとしたらこんなURIで取得できるようになります。example.com/users/10でこれをRequestするとXMLとかJSON形式でResponseが返ってきます。そのユーザーが持っている本(Book)リストをとりたいときはこんな感じで取れます。example.com/users/books/title/彼岸島とかこんな感じで取れるようになります。これを実現できれば特になにで実装しようとOKってわけです。RESTFulはリソース単位でURIがついたような構造になるってことです。JavaだとPlayとかJAX-RS、Rubyだと今勉強中のRailsなんかがこの設計思想をサポートしてます。APIなんて呼ばれたりします。こんな感じでよんであげると、自分のプロフィール画像へのリダイレクトURLが取得できます。graph.facebook.com/facebook/picture?redirect=trueんで、こうすると渡したオブジェクトから自分のタイムラインに投稿できたりします。graph.facebook.com/me/feed/message=test&access_token=ASDFGHJ試してはないですが。URIのルールまずURIのルールはざっくり以下のような感じになります。id=1のものを削除するという感じになります。users(複数形)、user(単数形)それぞれ意味があり、重要になってきます。制限されているのでおのずとシンプルな作りになると思います。いっても、/updateとか/showとかそれぞれにメソッドを設けるのではなく、上に挙げたHTTPメソッド(GET、POSTなど)に依存させるようなルーティングが必要になります。メソッドは、いつ、どんなアプリやシステムから呼ばれても必ず同じ値を返す必要があります。そのために必要なパラメータはHttpRequestですべて渡してあげる必要があります。要はステートに依存するような処理は極力さけなさいねってういうことです。してもな時は(僕は)しょうがないと思います。返却値はControllerよりXMLもしくはJSON、HTMLなど形式で返却します。値の設定はVIEWで独立させるようにしておきます。本題SOAPと同じじゃないの?ってとこですが、実装だけ見ればWEBに公開された処理を呼び出してデータをJSONとかXMLでやりとりするってとこだけとると同じです。SOAPとRSETは同じようなものと聞きますが、サッカーと野球、どっちもボール使うので同じ球技っていうレベルの同じです。ルールが違うのでそれぞれに向き不向きが出てきます。SOAP、RESTもそういう関係です。・スマフォ⇔サーバーはREST・サーバー間はSOAPなんかになります。両方知ったうえで作ろうとしているものにあったものを選定するのが一番じゃないかなーと思いました。僕は特にどちらも支持しないのでRESTafariansよりRastafariansのほうが向いているのかなとか感じた1日でした。Fontが公開されたので早速入れてみました。)って結構イメージ悪いですよね。(6)はてなブログをはじめよう!gwaan_soさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。