RESTリソースがスキーマを/new.xmlへのアクセスで返す
2007-04-27
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だそうだ。
