【发布时间】:2018-04-03 22:18:42
【问题描述】:
我可以使用新的 Kotlin DSL 来设置路由吗,例如:
router {
("/blog" and accept(TEXT_HTML)).nest {
GET("/", fooHandler::findAllView)
GET("/{slug}", fooHandler::findOneView)
}
("/api/blog" and accept(APPLICATION_JSON)).nest {
GET("/", barHandler::findAll)
GET("/{id}", barHandler::findOne)
}
}
使用非响应式 Web 部件?从某种意义上说,底层数据库将是 Postgres 和基于非 Reactive servlet 的应用程序服务器,因此我不想/不需要使用 Flux 或 Mono 来返回 barHandler 或存储库函数类型。但我确实喜欢与 Kotlin 一起使用的新路由器 DSL,它比基于注释的 @RequestMapping 更强大,并且更容易掌握所有应用程序路由。
【问题讨论】:
-
Spring MVC 应用程序中的“非反应式 Web 部件”是什么意思?
-
@BrianClozel 想像使用 Spring-WebMVC 但使用 Kotlin 功能 DSL 来编写路由器而不使用注释。所有的例子都说你可以为 WebFlux 使用 DSL 和注解,但从来没有提到它是否与 WebMVC 相同,或者我们只是在那里使用注解?
-
@SašaŠijak 您可以使用非弹簧网络框架(同时保留您想要的所有弹簧部件)。此类框架的示例有:Ktor、Javalin 和(我最喜欢,尽管没有 websockets)http4k
-
@pabl0rg 我知道,但我的问题是我是否可以将 WebFlux 包的这个特定部分与 WebMVC 一起使用
标签: spring spring-webflux spring-dsl