我在和Kitura一起玩。我安装了一个路由器端点,如下所示:
let router = Router()
router.all() { _, response, next in
response.headers["Content-Type"] = "application/json; charset=utf-8"
next()
}
router.get("/hello") { _, response, next in
response.send("{\"message\": \"Hello World\"}")
next()
}
Kitura.addHTTPServer(onPort: 9143, with: router)
print("Application Server Starting...")
Kitura.run()
我对这个next
闭包/回调参数感到非常困惑/沮丧。许多(可能已经过时?)教程没有提及或包含它,但如果我不调用它,我的路由器就会挂起并且永远不会发送客户端响应。
有没有办法让我避免在 my 中调用这个RouterHandler
?还是自动调用?需要在每个方法中手动执行此回调似乎是潜在人为错误的巨大来源,并且会增加混乱。(其他框架如 Spring Web 自动执行链,不需要next()
调用。)