--- layout: old_post title: Jester ver1.3 変更点メモ permalink: /tatsuya/show/346-jester-ver1-3 ---
先日のエントリの続き
JavaScriptによるRESTクライアント Jester のver 1.3がリリースされたみたい。
:: GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS :: Jester 1.3: Jsonic REST
ざっくりと変更点メモ
JSONサポート
Base.model("User", {format: "json"});
と宣言に{format: "json"}のオプションを付けることでJSONでリクエスト&レスポンスを行う。通信は普通にXMLHTTPrequest。
サーバ側をRailsで実装するなら to_json でOK
respond_to do |format| format.xml { render :xml => @user.to_xml } format.json { render :json => @user.to_json} end
あとprototype.js風にレスポンスヘッダのX-JSONフィールドに書いてあるJSONをコールバック関数の引数として受け取れる。
サーバ側で headers["X-JSON"]="{foo: 'bar'}" とかを返すと
>>> foo="" >>> c = User.find(5, {}, function(base, json){ foo = json.foo }) GET http://localhost:3000/users/5.json >>> foo "bar"
データの型などメタデータを送れば良いかも、と書いてる気がするけど違うかも。
ヘルパーメソッド updateAttributes と setAttributes を追加
User.setAttributes({name: "newName", role: "Admin"})
とやるとnameとroleをセットしてくれる、updateAttributesは同時にsave()を実行してくれる。
次期バージョンについて
「次はIFRAMEを使ったクロスサイトの通信をやる」らしい、dojoのIFRAME PROXYのようなことをやるのかな?
よく知らないんだけど、あれはIFRAMEを自分と相手のサイトに置いてドメインを越えよう、ってことだよね。自分がコントロールできるサーバじゃないと意味無いような.....例えば「TwitterのAPIが叩きたい」なんて用途には使えないと思ってたんだけど、違うのかな?
この辺面白そうだし、調べて後で書こう
リンクだけ張っといて自分へプレッシャーを与えるメソッド発動:)