gpt4 book ai didi

linux - "Page Not Found/404 handler” 到 Swift Express 服务器

转载 作者:IT王子 更新时间:2023-10-29 00:33:46 24 4
gpt4 key购买 nike

我正在通过 Swift Express 编写最简单的服务器

我想为“找不到 url”添加自定义处理程序,这样如果用户写“/notFoundUrl”,他将看到类似这样的内容:“找不到 url“notFoundUrl”,请转到主页”。

我添加了:

app.get("/:notFoundUrl+") { (request:Request<AnyContent>)->Action<AnyContent> in
print(request.params["notFoundUrl"])
return Action<AnyContent>.render("index", context: ["hello": "Page Not Found: " + request.params["notFoundUrl"]!])
}

但这并不合适,因为:

  • 顺序很重要。
  • 我无法返回 404 错误。

那么如何将自定义“找不到页面/404 处理程序”添加到 Swift Express Server

最佳答案

这比您尝试做的要简单得多。

/// Custom page not found error handler
app.errorHandler.register { (e:ExpressError) in
switch e {
case .PageNotFound(let path):
return Action<AnyContent>.render("404", context: ["path": path], status: .NotFound)
default:
return nil
}
}

完整的文档可以在这里找到:https://github.com/crossroadlabs/Express/blob/master/doc/gettingstarted/errorhandling.md

关于linux - "Page Not Found/404 handler” 到 Swift Express 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35728664/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com