⛄️
KotlinではじめるJAX-RS
こっとりーん!(挨拶)
説明はもろもろすっ飛ばしてリソースクラスのコード掲載します。
package app
import javax.ws.rs.core.MediaType
import javax.ws.rs.GET
import javax.ws.rs.Path
import javax.ws.rs.Produces
import javax.ws.rs.QueryParam as q
Path("hello")
Produces(MediaType.TEXT_PLAIN)
class Hello {
GET fun get(q("name") name: String): String = "Hello, ${name}!"
}
という感じで普通にJAX-RSできました。
というかnameがnull許容しないので@DefaultValue
を付けるべきと今思いましたので気が向いたら直しておきます(やらないパターン)。
サンプルが簡易すぎてKotlinの良さが出ていないのが悲しいですね。
良かった点。
- Mavenで簡単にビルドできた
- MavenプロジェクトをIntellij IDEAで容易くインポートできた
- たろーさん とTwitterで絡めた
微妙な点。
- Intellij IDEAのKotlinプラグインのOrganize Importが弱い気がする
- Intellij IDEAのコードフォーマットが
option + command + l
で両手使うのがやだ - Intellij IDEAで
command + w
でファイルが閉じてくれなかった
そんな感じです。 要するにIntellij IDEAに慣れていないだけ、と。
それとテストクラスはJavaで書いていますが、これはアノテーション付きのstaticメソッドの書き方が分からなかったからです。
きっと誰かがKotlinに直してプルリクしてくれるに違いない(チラッ
本日のコードはGitHubにあります。
Arquillianのwildfly-managedでテスト書いてます。
テスト実行すると多くのJARとWildFly 8.1.0.Finalをダウンロードするので時間のあるときにどうぞ。
Kotlinの勉強会もあるみたいですよ。
Discussion