Restletとは?
Restlet(http://
JavaのREST APIといえば,
なぜRestletという名称なのかについて,
RestletによるRESTアプリケーション
REST自体のことについては,
リスト1 短いメッセージを出力するRESTアプリケーションの例
Restlet restlet = new Restlet() {
@Override
public void handle( Request request, Response response ) {
response.setEntity(
new StringRepresentation(
"はじめてのRestlet", MediaType.TEXT_PLAIN,
new Language( "ja" ), new CharacterSet( "Shift_JIS" )
)
);
}
};
表示領域の関係でネストが深くなっていますが,
RestletによるRESTアプリケーションは,
レスポンスとして返すデータはResponse#setEntity()メソッドで設定します。日本語を含まない半角テキスト(ASCIIコード)であれば,
レスポンスには,
サーバの設定と起動
RESTアプリケーションは,
リスト2 RESTアプリケーションを動作させるサーバの設定と起動の例
Server server = new Server( Protocol.HTTP, 8888, restlet );
server.start();
Serverクラスのコンストラクタには,
このロジックは一般的なJavaクラスの中で記述できますので,実際の起動はjavaコマンドで行うことができます。ただし,Restletは依存ライブラリの数(アーカイブを展開したlibディレクトリ以下のJARファイルすべて)が多いので,antなどでJARファイルをクラスパスに設定して,コンパイルや起動を行うほうが良いかもしれません。
ここでは1つのRESTアプリケーションのみを設定していますが,
クライアントアプリケーションによるアクセス
サーバを起動できたら,
ただRESTアプリケーションの構築は,
リスト3 RESTアプリケーションにアクセスするクライアント
Client client = new Client( Protocol.HTTP );
Response res = client.get( "http://localhost:8888/" );
System.out.println( res.getEntity().getText() );
リスト3のClientクラスが,
もしRestletを使わない場合は,
このクラスのget()メソッドがHTTPのGETに対応し,
リスト3のロジックを起動してサーバにアクセスするには,
このように,