Issue: SPR-17247
@ -546,7 +546,12 @@ open class RouterFunctionDsl(private val init: RouterFunctionDsl.() -> Unit) : (
*/
override fun invoke(): RouterFunction<ServerResponse> {
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()
@Test
fun emptyRouter() {
router { }
private fun sampleRouter() = router {
(GET("/foo/") or GET("/foos/")) { req -> handle(req) }