IntelliJ IDEAでJAX-RSが捗る!

小ネタです。
IntelliJ IDEA 14.1.1 Ultimate Editionを前提としています。

最近は、意識してIntelliJ IDEA+GradleでJava EEやってます。
いつもはNetBeansMavenを使うことが多くて、これが一番手軽なんですが、IDEAは補完がとにかく強力で、「ここも補完が効くのか!」とビックリさせられます。

その1つが今回の話なんですが、JAX-RSでリソースメソッド作るとき、例えばこんなコードがあります。

@GET
@Produces("application/json")
@Path("{name}")
public Response hello(@PathParam("name") String name) {
    // 処理
}

ちょいと面倒だと感じるのが、「"application/json"」の部分と、「name」と3回も指定しなきゃいけない部分です。

前者は「MediaType.APPLICATION_JSON」という定数で書くこともできますが、ここはIDEAの補完が効きます。
f:id:MasatoshiTada:20150508223926g:plain
()の中でCtrl+Spaceすれば候補が出てくるので、あとは選択してEnterするだけ。
「MediaType.APPLICATION_JSON」とするよりもタイプ数が圧倒的に少ないので、こっちの方が楽です。

後者は、@Path("{name}")さえ自力で書けば、あとの@PathParamとメソッド引数名はCtrl+Spaceで補完できます。
f:id:MasatoshiTada:20150508223945g:plain
うーん、便利。しかもJAX-RSで出来るということは、MVC 1.0でも出来る訳です。

NetBeansでは、上記のような補完は出来ませんでした。
IDEAは本当に色んなところで補完が効くので、思いついたら即座にCtrl+Spaceしてみてください。驚くような補完が出来ることがあります。

簡単ですが、今日はここまで。


※追記
Spring MVCでは、同様の補完は効きませんでした。
おそらく、そのうち同様の補完が出来るように改良されると思います。