wasabi触ってみた

Kotlin Advent Calendar 2013 - Adventarの16日目のエントリです。
前回書いたランキングで漏れていたwasabiを触ってみました。

wasabiとは

Kotlinで書かれたJVMで動くsintra風のHTTP Frameworkです。MVCフレームワークではなく、viewがありません。Angular.jsかEmber.js等のクライント側のMVCで実装する必要があります。

Hello world

本当はtools配下のgradle.build使えばいいんでしょうけど、どうもうまくいかないので本体を直接cloneして実行ファイルを作成しました。

import org.wasabi.app.AppServer
 
fun main(args: Array<String>) {
    val server = AppServer()
    server.get("/", { response.send ("Hello world.") })
    server.start()
}

f:id:morizo999:20131216011420j:plain

オブジェクトのGET

Less Than Dot - Blog - Wasabi a sinatra/nancyfx inspired webframework for kotlin
ここを参考にオブジェクトのGETをしてみました。Content NegotiationがデフォルトでTrueになったので、
import org.wasabi.interceptors.parseContentNegotiationHeaders
import org.wasabi.interceptors.negotiateContent
が不要になってました。

import org.wasabi.app.AppServer

fun main(args: Array<String>) {
    val server = AppServer()
    var person = Person("test","test2")
    server.get("/", { response.send (person) })
    server.start()
}

class Person(var firstName: String, var lastName: String)

f:id:morizo999:20131216011425j:plain

おわりに

POSTとPUTやAngular.jsの連携も試したかったけど余裕なかった(´・ω・`)
あんまり動作するサンプルが無いみたいなので、今後に期待ですね!