「JavaによるRESTfulシステム構築」を購入。早速読んだ

恵比寿駅内の本屋にてゲット。

知らなかったのはおおむね例外マッピングとキャッシュ回りのところとJerseyの軽い説明でMVCフレームワークとして使うためのものが用意されているというところだけかな。

例外マッピングは重要なのにノーチェックだったわー。


内容はこれ一冊でリファレンス的に使えるというものではないです。広く浅く、細かいことはJavaDocとにらめっこしてやってくれという感じのものです。ただし、そのとっかかりは全てあると思います。

オススメの一冊です。


JavaによるRESTfulシステム構築
Bill Burke
オライリージャパン
売り上げランキング: 6239

やはりこれをみて改めて思うのはJAX-RSは非常に良くできたフレームワークであるということ。何度もエントリで書きましたし、今後も控えています。

一番感覚的に近いのはT2Frameworkでしょうか。これらの違いを説明できる人は正直いないような気がします。

パスパラメータの利用方法とかもJAX-RSとほとんど同じです。マトリックスパラメータとかサブリソースはT2になかった気がします。mimeまわりとかもT2は弱いですね。そのぶんT2のほうが軽いとは思いますが。


ちなみに上で書かれてるシンプルなMVCのサンプルコード。

@Path("/hello")
public class HelloResource {

    @GET
    @Path("/{param}")
    public Viewable getMessage(@PathParam("param")String name) {
        return new Viewable("/index.jsp", name);
    }

}

index.jspフォワードしてパスパラメータをそのままモデルとして渡しています。

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello ${it}</h1>
    </body>
</html>

まぁそのまんまですね。モデルのルート名が「it」固定というのだけ注意です。それ以外はまぁシンプルなもんです。Viewのカスタマイズはいくらでも出来るのでVelocityやFreeMakerをデフォルトのビューにしてしまうとかありかもしれませんね。その場合、Servletが必須ではなくなりますし。FreeMakerはNetBeansプラットフォームで標準で使われているのでNetBeansユーザーなら取っ付きやすいでしょう…たぶん。

「追記」
こっち見たほうがわかりやすいです。
http://www.artonx.org/diary/20100810.html#p01