Javalin 是用 Kotlin 和 Java 编写的一个非常轻量级的 Web 框架,受 Sparkjava 和 koa.js 的启发。
Javalin 基于 Kotlin 编写,其中一些功能接口采用 Java 开发,对 Kotlin 和 Java 的开发人员能提供几乎相同的愉悦体验。
Javalin 主要有以下特性:
易用:不用提前学习任何概念就可以开始使用
一致的API:所有的处理程序和映射器在Context (ctx)中都是无效的。
Kotlin和Java拥有几乎完全相同的API
是框架也是库:无需扩展任何功能
拥有完全可定制的嵌入式服务器(Jetty)
JSON对象映射
通过AccessManager 接口简单的按端点验证
简单的静态文件处理
生命周期事件
CookieStore,一种简单的用来序列化的方法和存储在cookie中的对象。
模板渲染
Markdown渲染
示例:[code]Hello World
kotlin
fun main(args: Array
val app = Javalin.start(7000)
app.get("/") { ctx -> ctx.result("Hello World") }
}
Java
public static void main(String[] args) {
Javalin app = Javalin.start(7000);
app.get("/", ctx -> ctx.result("Hello World"));
}
API structure and server config
kotlin
val app = Javalin.create().apply {
enableStaticFiles("/public")
enableStandardRequestLogging()
port(port)
}.start()
app.routes {
path("users") {
get(UserController::getAllUserIds)
post(UserController::createUser)
path(":user-id") {
get(UserController::getUser)
patch(UserController::updateUser)
delete(UserController::deleteUser)
}
}
}
Java
Javalin app = Javalin.create()
.enableStaticFiles("/public")
.enableStandardRequestLogging()
.port(port)
.start();
app.routes(() -> {
path("users"(() -> {
get(UserController::getAllUserIds);
post(UserController::createUser);
path(":user-id"(() -> {
get(UserController::getUser);
patch(UserController::updateUser);
delete(UserController::deleteUser);
});
});
});[/code]软件详情:http://gitee.com/mirrors/Javalin
来自:开源中国社区

