带kotlin功能路由器的非反应性Spring Web
我可以使用新的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) } }
与无反应的网页部分? 基础数据库将是Postgres和非Reactive基于servlet的应用程序服务器,因此我不希望/不需要使用Flux或Mono作为barHandler
或存储库函数的返回类型。 但是我喜欢新的路由器DSL和Kotlin一起使用,它比基于@RequestMapping
注解更强大,并且更容易掌握所有的应用路由。
在你的例子中的DSL是Spring WebFlux的一部分,这是你所说的“被动”的东西。 在这篇官方博客文章中 ,功能被引入为“Spring WebFlux功能DSL ”。
DSL入口点router
在包org.springframework.web.reactive.function.server
定义,这也验证了我之前所说的内容。 你可以在GitHub上看看它。
但是,您可以使用传统的Web MVC:用于以如下方式定义应用程序bean的Functional bean声明DSL :
beans { bean<Foo>() bean { Bar(ref()) } }
- kotlin数据类HttpMessageNotReadableException
- Kotlin + Spring Boot请求编组
- Spring数据Elasticsearch与Kotlin数据类的脚本字段导致Jackson序列化问题
- Kotlin + SpringBoot 2.0.0-M4失败tu加载应用程序上下文(BeanCreationException)
- 以编程方式重新启动Spring Boot应用程序/刷新Spring上下文
- JsonView在Spring + Kotlin中
- 如何在后端获取用户国家的HTTP请求?
- Spring MVC应用程序中的多个ScriptTemplateViewResolvers
- kotlin中的数字是不可序列化的