蒸气2入门-Restful API Swift Server
正如之前在这里宣布的那样,Vapor框架刚刚推出了其2.0版本。 在Monk Software,我们一直在寻找新技术,我们为Vapor提供了机会!
什么是蒸气?
Vapor是服务器端Swift Web框架。 无论您需要什么,Restful API Server,显示html页面,发送电子邮件或推送通知,Vapor几乎可以满足所有需求。
我们将在这篇博客文章中介绍什么?
今天,我想向您展示从Vapor API模板开始,添加一些端点然后将服务器部署到Heroku多么容易。
让我们开始吧
我假设您使用的是装有Swift和Xcode的Mac,如果没有,请安装Xcode(Swift捆绑在其中),如果您使用的是Ubuntu,请按照此指南进行操作。
1)安装蒸气工具箱
要充分利用Vapor,我们还需要它的工具箱,您可以通过在终端中输入以下内容进行安装:
冲泡安装蒸气
或者,如果您在Ubuntu上,请执行以下操作:
sudo apt-get更新
sudo apt-get安装蒸气
2)创建一个新的应用程序
创建一个超级简单的应用程序,只需在终端中输入:
蒸气新的IncredibleVaporApp --template = api(或您想要的任何名称)
在少数情况下,Vapor应该下载所有依赖项,并使用给定的应用程序名称创建一个文件夹。
3)可选:生成Xcode项目文件
如果您想利用Xcode自动补全功能,可以在vapor app文件夹内的终端中键入以下内容:
蒸气Xcode
这将生成.xcodeproj,键入“ y”以在Xcode中打开。
4)运行服务器
好的,我们已经准备好运行我们的服务器,如果您使用Xcode,请选择方案App并按play,如果您在Ubuntu中,请输入终端:
蒸气生成和&蒸气运行
build将提取要部署的构建,然后运行将启动服务器。
默认情况下,Vapor将在以下地址启动服务器: 0.0.0.0:8080进行测试,请访问http://0.0.0.0:8080/hello, 您将看到此类型的json:
{“你好,世界”}
一切都按预期进行!
5)添加自定义端点
现在是时候添加我们的自定义终结点了,假设我们要通过传入一个人的名字来问候他。 首先,在我们的项目中打开Routes.swift文件,然后在方法中
func build(_ builder:RouteBuilder)抛出
我们可以添加新的API:
builder.get(“ greet”){要求
let name = req.data [“ name”] ?. string ?? “,你叫什么名字?:D”
返回“你好\(名称)”
}
此代码仅做两件事,将新API添加到端点0.0.0.0:8080/greet ,然后检查URL中是否存在名为“ name”的参数,如果存在,它将返回带有提供的名称的字符串“ Hello” ,如果没有,它会问你叫什么名字,就这么简单。 通过按Xcode中的play保存并重新运行我们的服务器。
导航到0.0.0.0:8080/greet ,然后按Enter,结果应为:
你好你叫什么名字? :D
当然,传递一个像这样的有效名称0.0.0.0:8080/greet?name=Alessio将导致:
你好阿莱西奥
6)推送到Heroku
我们创建了我们的第一台服务器,并希望与世界上的所有人打招呼! Heroku将为我们提供帮助。 在项目的根文件夹中打开终端,然后键入:
蒸气Heroku初始化
如果您尚未登录heroku,将提示您登录; 而不是heroku要求的自定义名称,我们将其保留为空,因此在以下问题上键入“ n”:
“您要部署到美国地区服务器以外的其他服务器吗?”键入‘n’ ,
“您要提供自定义的Heroku构建包吗?”键入‘n’,
“您使用自定义的可执行文件名称吗?”,键入“ n” ,
“您现在要推送到Heroku吗?”输入‘y’。 (这需要5〜10分钟)。 完成后,heroku将为您提供项目的git终结点和一个http URL,将其复制并粘贴到浏览器中,然后添加我们的自定义endint,如下所示(我的代码是https://shrouded-fjord-73521.herokuapp.com/):
https://shrouded-fjord-73521.herokuapp.com/greet?name=alessio
一切都应该像本地服务器一样工作。
恭喜,您已经在云中创建并部署了Restful Vapor Swift服务器! 希望您喜欢本教程,很快就会有更多!
该教程最初 由Alessio Arsuffi 在 MONK Software的博客上发布 。