【Swift-Vapor服务器】0001、Swift-Vapor入门-环境搭建

【Swift-Vapor服务器】系列
【Swift-Vapor服务器】0001、Swift-Vapor入门-环境搭建

技术:Swift5.7、Vapor4.0、服务器、本地服务器、Vapor基本使用
运行环境:
Swift5.7 + Xcode14 + MacOS12.6 + Docker Desktop + Azure Data Studio

参考下载工具链接

HomebrewVaporPostmanAzure Data StudioDBeaverDocker Desktop

主要讲解了以下内容

安装HomeBrew、安装Vapor、自行安装Postman(测试API)、自行安装Azure Data Studio - (Postgres数据库)
创建了一个Vapor项目
使用Postman访问了Vapor的默认路由和hello路由

安装Vapor

  1. 安装Homebrew - MacOS的包管理器
    终端指令
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 安装 vapor
    终端指令
brew install vapor
  1. 检查Vapor是否安装成功
    终端指令
vapor --help

出现下图表示安装成功
在这里插入图片描述
4. 创建Vapor项目
终端指令 - 其中XY-Vapor-API 表示项目名称

vapor new XY-Vapor-API

在这里插入图片描述

name: XY-Vapor-API
Would you like to use Fluent? (--fluent/--no-fluent)
y/n> y
fluent: Yes
db: Postgres (Recommended)
Would you like to use Leaf? (--leaf/--no-leaf)
y/n> n
leaf: No
这上面几句表示 
1.是否使用Fluent 。Fluent表示Orm。它是一个对象关系映射器 - 项目使用
2.使用那个数据库 - 我这里使用Postgress
3. 是否使用叶子 - 不使用 - 叶子表示一个模板语言。就像制作一个网页一样
  1. 使用Xcode打开
vapor xocde

首次运行Vapor项目出现警告

原因是 表示 没有给该方案设置自定义工作目录

[ WARNING ] No custom working directory set for this scheme, using /Users/liyuhong/Library/Developer/Xcode/DerivedData/XY-Vapor-API-godrxlkftzjdvncdelssjgmebuut/Build/Products/Debug

1. 设置

在这里插入图片描述

在这里插入图片描述

2. 再次启动 - 警告消失

在这里插入图片描述

检查8080端口是否正在使用

通过终端 输入
lsof -i:8080

liyuhong@liyuhongdeMac-mini XY-Vapor-API % lsof -i:8080
COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Run     9360 liyuhong   12u  IPv4 0x61be8aab9b1e8631      0t0  TCP localhost:http-alt (LISTEN)

杀死8080端口 并且再次检查8080端口是否有正在运行

通过终端的指令 kill
kill -9 PID号 杀死端口
在这里插入图片描述

查看Vapor原理 分析

1. Package.swift

是我们的SPM清单
它是一个Swift包管理器
Vapor大量使用它
在这里插入图片描述

2.查看Vapor项目

是没有Xcode的项目文件
那是因为它像一个包裹
在这里插入图片描述

3.查看Vapor源码 - Sources - ControllersMigrationsModels

在这里插入图片描述

Controllers 提供了一个待办事项的清单
在控制器内部对逻辑进行分类,而不是将它全部放在一个文件中
Migrations 和数据库一起使用 、所以我们将进行所谓的数据迁移
这就是准备我们的数据库,这意味着在我们的数据库创建新表
Models - 这就是我们数据库中数据的模型。
Configure - 我们有配置功能
这里只有一个功能,它配置我们将使用的数据库
它添加了我们迁移,并运行routes函数,然后routes函数是 我们所有的路由。都是如此不同的端点的地方。它们将被命中
我们将通过我们的iOS应用程序请求。
如果我们访问hello 那么就会执行hello函数
在这里插入图片描述

4.查看Vapor单元测试 - AppTests.swift

Vapor没有默认测试。 而我们创建的项目提供了一个可以使用的单元测试.
这里单元测试就是启动应用程序。我们要去设置路线
我们不会对这个系列进行单元测试
因为我们有Docker组合文件。
在这里插入图片描述

5.查看Docker组合文件 - docker-compose.ymlDockerfile

这配置了我们的API以运行并让数据库在DockerFile文件中运行。
这里用于实际创建Docker映像的内容。老实说。我不知道这两个文件的所有内容。
在这里插入图片描述
在这里插入图片描述

6.Package.resolved 包解析

使我们项目中在Package Swift中定义的包的指定版本
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42816425/article/details/127056090