Add support for empty router in RouterFunctionDsl
Issue: SPR-17247
This commit is contained in:
@@ -546,7 +546,12 @@ open class RouterFunctionDsl(private val init: RouterFunctionDsl.() -> Unit) : (
|
|||||||
*/
|
*/
|
||||||
override fun invoke(): RouterFunction<ServerResponse> {
|
override fun invoke(): RouterFunction<ServerResponse> {
|
||||||
init()
|
init()
|
||||||
return routes.reduce(RouterFunction<ServerResponse>::and)
|
return if (routes.isEmpty()) {
|
||||||
|
RouterFunction<ServerResponse> { Mono.empty() }
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
routes.reduce(RouterFunction<ServerResponse>::and)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -120,6 +120,11 @@ class RouterFunctionDslTests {
|
|||||||
.verifyComplete()
|
.verifyComplete()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun emptyRouter() {
|
||||||
|
router { }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun sampleRouter() = router {
|
private fun sampleRouter() = router {
|
||||||
(GET("/foo/") or GET("/foos/")) { req -> handle(req) }
|
(GET("/foo/") or GET("/foos/")) { req -> handle(req) }
|
||||||
|
|||||||
Reference in New Issue
Block a user