Vapor ͱ
Swiftͷ Server side framework
Heroku༻ͷbuild packެ։͞Ε͍ͯΔɻ
ߴύϑΥʔϚϯε1
ެࣜυΩϡϝϯτ͕ॆ࣮2
2 Vapor Dos
1 Server Side Swift vs. The Other Guys — 2: Speed
Options 3
Name Flag Description
API --template=api JSON API with Fluent database.
Web --template=web clones http://github.com/vapor/web-
template
--template=user/repo clones http://github.com/user/repo.
--template=http://hogehgoe.com/
repo
clones the full url given.
--branch=foo can be used to specify a branch
besides master.
3 https://docs.vapor.codes/2.0/getting-started/toolbox/#templates
Slide 7
Slide 7 text
Create sample project.
$ vapor new VaporTest-API --template=api
$ cd ./VaporTest-API
$ vapor xcode
Slide 8
Slide 8 text
Build & Run
$ vapor build
$ vapor run // or Run(⌘ + R) on Xcode
Slide 9
Slide 9 text
Model
final class UserModel: Model {
let storage = Storage()
struct Keys {
static let id = "id"
static let name = "name"
static let age = "age"
}
static let idType: IdentifierType = .uuid
var name: String
var age: Int = 0
init(name: String, age: Int ) {
self.name = name
self.age = age
}
required init(row: Row) throws {
name = try row.get(UserModel.Keys.name)
age = try row.get(UserModel.Keys.age)
}
func makeRow() throws -> Row {
var row = Row()
try row.set(UserModel.Keys.name, name)
try row.set(UserModel.Keys.age, age)
return row
}
}