再次使用Swift服务端框架Vapor3

时隔一年时间,Vapor已经升级到了Vapor3,是时候再用用看了。去年的Vapor还不能够商用,今年已经可以用在小项目上面了,让我们拭目以待吧。先试试在MAC上面是怎么使用的。

前提

  • Xcode9.3及以后版本
  • Swift 4.1
    在终端上输入
swift --version

可以看到电脑上面swift版本。

1.安装Vapor

使用如下命令安装。

brew install vapor/tap/vapor

安装好后,使用如下命令验证vapor版本。

vapor --version

后续想更新vapor时,使用如下

brew upgrade vapor

2.创建项目

首先,cd到你要放置项目的目录中,然后使用如下命令创建出一个项目。

vapor new Hello --branch=beta

创建好后,使用如下命令创建出Xcode能够直接运行的项目。

vapor xcode

运行完毕后,会让你选择是否马上运行xcode,输入y即可。

当xcode打开后,选择Run,然后运行,控制台会输出:

Starting server on 0.0.0.0:8080

这表明,服务已启动,打开浏览器,输入

localhost:8080/hello

即可看到返回结果。

{"hello":"world"}

使用vapor new Hello创建时,默认创建API模板,返回的是json格式的数据,可以通过vapor new Hello --template=web的方式修改创建的模板。

  • --template=api API
  • --template=web Web

更新vapor依赖

在项目中,有个一文件Package.swift,其中,dependencies是管理vapor依赖性的,当依赖发生变化时,使用如下命令更新

vapor update

解决依赖错误

使用如下命令大多数可以解决

vapor clean

3.项目结构

结构如下图所示:

项目结构
.
├── Public
├── Sources
│   ├── App
│   │   ├── Controllers
│   │   ├── Models
│   │   ├── boot.swift
│   │   ├── configure.swift
│   │   └── routes.swift
│   └── Run
│       └── main.swift
├── Tests
│   └── AppTests
└── Package.swift

Public

公共的资源,包括图片,格式等等。响应一个请求时,最先检查该文件并返回。
比如有一个请求localhost:8080/hello.ico会马上去检查Public/hello.ico,如果存在,就返回。

Sources

包括了项目中所有可运行的代码。包括了App和Run两个文件夹。

App

最重要的文件夹,所有的逻辑都在这个文件夹内。

  • Controllers:大多数是用于接收请求和返回一些简短的数据。
  • Models:存放数据模型。
  • boot.swift:启动的时候需要做的服务可以写到里面。
  • configure.swift:配置文件
  • routes.swift:路由文件

Tests

测试文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,399评论 4 61
  • 风从草的深渊升起 掠过四下 电光刻下羚角的影子 雷雨就要来了 那些还来不及 来不及准备的小生命 将带着最后一点鼓噪...
    万象峰年阅读 330评论 0 2
  • When I say "Do the work," what I really mean is simply st...
    第三个选项阅读 460评论 0 0
  • Revea图层解析,对于初学者来理解整个布局很有帮助,正规版是收费的,大家懂得可以安装破解版的来爽一爽 1.启动R...
    MMOTE阅读 703评论 0 0
  • 报错信息 (type=Not Acceptable, status=406) 这是因为没有设置请求头信息引起的 解...
    何德何能者阅读 1,532评论 0 0

友情链接更多精彩内容