Linuxeden 开源社区 --
Javalin 已发布 1.0.0 稳定版,该版本相比于之前的 0.5.X 并未有重大变化,可直接兼容升级。发行说明
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 渲染
示例:
Hello World
kotlin
fun main(args: Array<String>) {
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);
});
});
});
转自 http://ift.tt/2zyQWJL
The post Javalin 1.0.0 发布,Kotlin/Java 轻量级 Web 框架 appeared first on Linuxeden开源社区.
http://ift.tt/2iObkyD
没有评论:
发表评论