ファイヤープロジェクト
リソースの基本バリエーション
2008-11-29T01:10+09:00   matsu
RESTなんだから,まずはリソースに注目してみたい.Restletではリソースを表現であるRepresentationクラスのサブクラスがいくつかあるが,そのうち基本的なものを試してみた.
まず,FileRepresentationを使用する,FileSampleResourceを作成してみた.
FileRepresentationは,パス文字列やFileオブジェクトで指定されたファイルを読み込んで,それを出力する. ここでは,FileSampleResourceクラスのソースファイル自体を出力するようにしている.
XmlRepresentationを使用する,XmlSampleResourceを作成してみた.
XmlRepresentationには,XMLの構築の仕方によって,サブクラスのDomRepresentation,SaxRepresentationがある. 今回はDomRepresentationを使用してみた. DomRepresentationはDocumentオブジェクトを引数としてコンストラクトする. Documentオブジェクト自体は,ここでは通常のDomプログラミングで作成している. Xmlを出力したい場合は,他にも先のFileRepresentationでXMLファイルを読み込んで,MediaTypeをTEXT_XMLやAPPLICATION_XMLに指定する方法がある.
TransformRepresentationは,一方のRepresentationをもう一方のRepresentationで変換した結果を出力する. 具体的には,XMLを出力するRepresentationをXSLを出力するRepresentationで変換する.
このサンプルでは,固定ファイルのXMLとXSLファイルを読み込むFileRepresentationで変換している. このように,変換対象やスタイルシートの型はXmlRepresentationである必要がないことに注意(実際に出力されるデータがXMLやXSLであれば良い). 出力の変換処理は,他にFilterパッケージのTransformクラスを使用する方法もありそうな雰囲気.
今回作成したサンプル. コンパイル,実行には,
org.restlet.jar
org.restlet.ext.wadl_1.0.jar
com.noelios.restlet.jar
が必要. 以下のWADLファイルのURLを引数に指定してorg.restlet.ext.wadl.WadlComponentを実行する.
起動したら以下のリンクを試してみる. サンプル中,各ファイルパスを指定している場所は,「うまく合わさないと」ファイルが見つからず正しく動作しないので注意.
matsu(C)
Since 2002
Mail to matsu