Javalin 简介
Javalin 简介
一个简单的 Web 框架 适用于 Java 和 Kotlin
import io.javalin.Javalin;
void main() {
var app = Javalin.create(/*config*/)
.get("/", ctx -> ctx.result("Hello World"))
.start(7070);
}import io.javalin.Javalin
fun main() {
val app = Javalin.create(/*config*/)
.get("/") { ctx -> ctx.result("Hello World") }
.start(7070)
}为什么选择 Javalin ?
简单
与其他 Java 和 Kotlin Web 框架不同,Javalin 几乎没有需要学习的概念。你从不扩展类,也很少实现接口。轻量级
Javalin 只是 Jetty 上的几千行代码,其性能与原始 Jetty 代码相当。由于其规模庞大,很容易对源代码进行推理。互操作性
其他 Java 和 Kotlin Web 框架通常为每种语言提供一个版本。Javalin 的构建考虑到了互操作性,Java 和 Kotlin 的应用程序构建方式是相同的。灵活
Javalin 被设计成简单且阻塞的,因为这是最容易推理的编程模型。但是,如果你因此设置了 Future,Javalin 就会切换到异步模式。OpenAPI
许多轻量级的 Java 和 Kotlin Web 框架不支持 OpenAPI, 但 Javalin 支持 (包括 Swagger UI 和 ReDoc)。更多信息请访问 OpenAPI 插件页面。Jetty
Javalin 在 Jetty 上运行,Jetty 是 JVM 上最常用和最稳定的 Web 服务器之一。你可以完全配置 Jetty 服务器,包括 SSL 和 HTTP3 以及 Jetty 提供的所有其他服务。
声明您的服务器和 API 在同一个文件中
import io.javalin.Javalin;
import static io.javalin.apibuilder.ApiBuilder.*;
void main() {
var app = Javalin.create(config -> {
config.useVirtualThreads = true;
config.http.asyncTimeout = 10_000L;
config.staticFiles.add("/public");
config.staticFiles.enableWebjars();
config.router.apiBuilder(() -> {
path("/users", () -> {
get(UserController::getAll);
post(UserController::create);
path("/{userId}", () -> {
get(UserController::getOne);
patch(UserController::update);
delete(UserController::delete);
});
ws("/events", userController::webSocketEvents);
});
});
}).start(7070);
}作者:Jeebiz 创建时间:2024-09-19 10:22
最后编辑:Jeebiz 更新时间:2025-11-23 17:38
最后编辑:Jeebiz 更新时间:2025-11-23 17:38