--- layout: old_post title: RESTリソースがスキーマを/new.xmlへのアクセスで返す permalink: /tatsuya/show/313-rest-new-xml ---
GET /hoge/new.xml でRESTなリソース "Hoge" のスキーマをXMLで出力すると良いんじゃね?という話がRails Core で議論されてるらしく、でscaffold_resourceのテンプレートにパッチが当ったみたい。
パッチ:
# GET /<%= table_name %>/new # GET /<%= table_name %>/new.xml def new @<%= file_name %> = <%= class_name %>.new respond_to do |format| format.html # new.erb format.xml { render :xml => @<%= file_name %>.to_xml } end end
こんな出力:
<?xml version="1.0" encoding="UTF-8"?> <user> <active type="boolean"></active> <created-at type="datetime"></created-at> <email></email> <middle-name></middle-name> </user>
値が空で結果としてスキーマが返ると。RESTなリソースにアクセスしたいクライアントは、とりあえず GET /hoge/new.xml へアクセスすればスキーマが判る、シームレスに繋がるWebサービスとか。良いねこれは、SOAPの100倍くらいスマートだと思う。
言い出したのが誰かと思ったらJesterを作ってるEric Millだそうだ。