Opetusohjelma: Kuinka perustaa Vapor 2 -projekti

Tämän oppaan loppuun mennessä voit perustaa höyryprojektin ja toteuttaa yksinkertaisen reitin, joka palauttaa merkkijonon / numeron / json :)

Löydät tämän opetusohjelman tuloksen githubista täältä

1. Asenna Xcode

Xcode: lla sinulla on automaattinen asennus nopeasti. Mene lataamaan Xcode App Storesta. Ja viimeistele asennus avaamalla Xcode ja seuraamalla ohjeita.

2. Tarkista Vapor 2 -yhteensopivuus

Kun asennus on valmis, tarkistamme, että järjestelmäsi on nyt valmis Vapor 2: lle suorittamalla seuraava terminaalissa:

eval "$ (curl -sL check.vapor.sh)"

Sinun pitäisi saada:

 Yhteensopiva Vapor 2: n kanssa

3. Asenna Vapor-työkalupakki

Ennen kuin luomme ensimmäisen Vapor-projektimme, anna meidän asentaa erittäin kätevä komentoriviliittymä (cli), joka auttaa meitä tulevaisuudessa paljon. Ainoa Vapor-työkalupakki.

Asennamme Vapor-työkalupakin Homebrew: n kautta. Jos sinulla ei vielä ole, suosittelen hankkimaan sen. Se tekee erittäin helpoksi asentaa riippuvuudet, joita varmasti tarvitset myöhemmin, kun luot suuria projekteja Vaporilla. Suorita seuraavat asiat asennusta varten päätteessäsi:

/ usr / bin / ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Lisää nyt Homebrew Tap ja voimme lopulta asentaa Vapor-työkalupakin

hauduta hanahöyry / homebrew-hana
hautua päivitys
hauduta asennushöyry

4. Luo ensimmäinen Vapor-projekti

Nyt kun sinulla on Vapor-työkalupakki, uuden projektin luominen on yhtä helppoa kuin kirjoittaminen:

höyryä uusi sinunProjectName - haara = höyry-2

Tämä luo uuden projektin api-mallin perusteella, jonka löydät Githubin Vapor-arkistosta täältä. Seuraava vaihe - Xcode-projektin luominen projektisi sisällä projektisiNimi / suorita seuraava:

höyry xcode -y

Tämä voi viedä hetken .. mutta se tuottaa Xcode-projektin ja avaa sen sinulle (kiitos höyrytyökalupakki ).

5. Siivoa tarpeettomat tiedostot + koodi

Sinulla pitäisi olla nyt tällainen projektirakenne:

yourProjectName /
├── Paketti
├── Lähteet /
│ ├── Sovellus /
│ │ ├── Ohjaimet /
└── │ │ └── PostController.swift
│ │ ├── mallit /
│ │ │ └── Post.swift
│ │ ├── Reitit /
Out │ │ └── Routes.swift
│ │ └── Asennus /
│ │ ├── Config + Setup.swift
│ │ ple Pisara + Setup.swift
│ └── Suorita /
├── Testit /
├── Määritä /
├── Julkinen /
├── Riippuvuudet /
└── Tuotteet /

Tykkään poistaa (siirtää roskakoriin) kaiken, mikä on tällä hetkellä merkityksetöntä tai jota aiomme panna täytäntöön omillamme. Tällä tavoin haluan varmistaa, että tiedämme mitä teemme, tarvitsemme ja käytämme ja ymmärrämme paremmin .

yourProjectName /
├── Paketti
├── Lähteet /
│ ├── Sovellus /
│ │ ├── Ohjaimet /
│ │ │ └── PostController.swift // delete
│ │ ├── mallit /
│ │ │ └── Post.swift // delete
│ │ ├── Reitit /
Out │ │ └── Routes.swift
│ │ └── Asennus /
│ │ ├── Config + Setup.swift
│ │ ple Pisara + Setup.swift
│ └── Suorita /
├── Testit /
├── Määritä /
├── Julkinen /
├── Riippuvuudet /
└── Tuotteet /
Huomaa: Jos haluat oppia lisää ohjaimista ja malleista - kirjoitin myös niistä oppaita: Ohjaimet ja mallit

Seuraava: poista valikosta Setup / Config + Setup.swift seuraavat rivit:

Tuo FluentProvider // poista
laajennuskonfiguraatio {
  public func setup () heittää {
    Node.fuzzy = [Row.self, JSON.self, Node.self] // poista
    
    kokeile setupProviders ()
    kokeile setupPreparations ()
  }
yksityinen func setupProviders () heittää {
    Kokeile addProvider (FluentProvider.Provider.self) // poista
  }
yksityiset func -asetuksetValmistelut () heittää {
    valmistelut.apuri (itse.) // poista
  }
}

Poista Config / droplet.json -kohdasta “valmista” -merkkijono:

...
"komennot": [
  "valmistele" // poista
]
...

Poista FluentProvider paketista.swift:

// swift-tools-version: 4.0
tuo pakettikuvaus
anna paketti = paketti (
  nimi: "ensimmäinen reitini",
  Tuotteet: [
    .kirjasto (nimi: "App", kohteet: ["App"]),
    .execvable (nimi: "Suorita", kohteet: ["Suorita"])
  ],
  riippuvuudet: [
    .package (URL: "https://github.com/vapor/vapor.git", .upToNextMajor (alk.: "2.1.0")), // älä unohda poistaa pilkkua 
    .pakkaus (URL: "https://github.com/vapor/fluent-provider.git", .upToNextMajor (alk.: "1.2.0")), // poista
  ],
  kohteet: [
    .target (nimi: "App", riippuvuudet: ["Vapor", "FluentProvider"],
      sulje pois: [
        "Config",
        "Julkinen",
        "Resurssit",
    ]),
    .target (nimi: "Suorita", riippuvuudet: ["App"]),
    .testTarget (nimi: "AppTests", riippuvuudet: ["App", "Testing"])
  ]
)

Ja kaikki reitistä / Routes.swift kuten:

jatkepisara {
  func setupRoutes () heittää {
    ... // poistaa kaikki tämän funktion runko
  }
}

Jotta muutokset tai poistot voidaan soveltaa, meidän on suoritettava terminaalissamme:

höyrypäivitys -y

6. Suorita ensimmäinen reitti!

On olemassa useita HTTP-menetelmiä, joista GET, POST, PUT ja PATCH ovat todennäköisesti tunnetuimpia. Haluamme saada tietoja esimerkiksi merkkijonosta. Ehkä nimesi? Tai SAA numero. Ehkä ikäsi?

Otetaan käyttöön ensimmäinen GET-reittimme lisäämällä Routes / Routes.swift:

jatkepisara {
  func setupRoutes () heittää {
    saada ("nimi") {req in
      palaa "Ethan Hunt"
    }
  }
}

Käyttämällä get (“name”) -toimintoa määrittäisimme, että tämä reitti on tavoitettavissa, jos sitä pyydetään GET: n kautta osoitteessa / nimi.

Jos osut nyt cmd + r tai toistopainiketta Xcoden päälle, se käynnistää sovelluksen localhostissa portilla 8080. Annetulla reitillä voit saada nimen selaimeesi nyt alla: 127.0.0.1:8080/name .

Huomaa: muista valita Suorita skeemana painikkeesi vieressä ennen sovelluksen ajamista
Huomaa: Portti, josta pääset sovellukseesi, määritetään Config / server.swift -kohdassa - voit muuttaa sen haluamallasi tavalla ja ajaa sovelluksen uudelleen :)

Voit lisätä uusia reittejä ja kokeilla lisää, kuten palauttaa numeron tai json:

jatkepisara {
  func setupRoutes () heittää {
    saada ("nimi") {req in
      palaa "Ethan Hunt"
    }
    saada ("ikä") {req in
      palauta "\ (23)"
    }
    saada ("json") {req in
      palauta kokeile JSON (solmu: ["nimi": "Martin J. Lasek", "ikä": 26])
    }
  }
}

Älä unohda suorittaa tai cmd + r-koodia X-koodissa jokaisen koodimuutoksen jälkeen, jotta se voidaan kääntää uudelleen ja nähdä tulokset selaimessa

Se siitä! Olet onnistuneesti toteuttanut ensimmäisen Vapor-projektisi !!

Kiitos paljon lukemisesta! Jos sinulla on ehdotuksia tai parannuksia, ota meihin yhteyttä! Haluaisin kuulla sinusta!

Twitter / Github / Instagram