Vapor 大型教程
添加路由
路由是「请求地址」和「处理代码」之间的桥梁。本文讲解什么是路由,并动手在 routes.swift 里添加几个 GET 路由。
如果你在 Linux 上开发,可以选择自己喜欢的编辑器来修改文件,然后使用命令行 swift build 和 vapor run / swift run 来编译运行。
如果你在 Mac 上开发,那么可以使用 Xcode 这个 IDE 来进行开发。使用 vapor xcode 命令在 Xcode 中打开工程。
什么是路由(route)
当浏览器向服务器发起请求时,服务器接到来自浏览器的请求后会转发给相应端口上提供服务的应用程序,应用程序接收到请求后需要知道调用哪段代码进行相应的处理,我们把客户请求(通常是一个 URL)和应用程序针对它进行处理的代码逻辑(通常是一个函数)之间的对应关系叫作 route。
routes.swift 文件中所作的事,就是建立这种对应关系。
添加一个 GET 类型的路由
下面添加一个 GET 类型的路由,在文件 routes.swift 中添加如下代码,并使用 vapor run 或者直接在 Xcode 中运行项目:
import Vapor
func routes(_ app: Application) throws {
app.get { req in
return "It works!"
}
app.get("hello") { req -> String in
return "Hello, world!"
}
app.get("hello", ":name") { req -> String in
guard let name = req.parameters.get("name", as: String.self) else {
return "\(HTTPStatus.notFound)"
}
return "Hello, \(name)"
}
}
使用 Chrome 访问我们添加的路由,可见正常工作,新增的路由可以接收字符串类型的参数,:name 是一个命名占位符。