Javalin 1.0.0 发布,Kotlin/Java 轻量级 Web 框架 - 开源中国社区
Float_left Icon_close
Javalin 1.0.0 发布,Kotlin/Java 轻量级 Web 框架
王练 2017年11月11日

Javalin 1.0.0 发布,Kotlin/Java 轻量级 Web 框架

王练 王练 发布于2017年11月11日 收藏 28

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://www.oschina.net]
本文标题:Javalin 1.0.0 发布,Kotlin/Java 轻量级 Web 框架
分享
评论(4)
最新评论
0
和sparkjava相比 优势在哪里
0
参数校验呢,怎么做
0
看上去更像nodejs的写法,
0
do the play ye.
顶部