Jester ver1.3 変更点メモ JavaScript jester REST
2007-06-11
先日のエントリの続き
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が叩きたい」なんて用途には使えないと思ってたんだけど、違うのかな?
この辺面白そうだし、調べて後で書こう
リンクだけ張っといて自分へプレッシャーを与えるメソッド発動:)
