Swift Language
Swift HTTP-server van Kitura
Zoeken…
Invoering
Snelle server met Kitura
Kitura
is een snel geschreven webkader dat is gemaakt voor webservices. Het is heel eenvoudig om HTTP-aanvragen in te stellen. Voor de omgeving heeft het OS X nodig met XCode geïnstalleerd, of Linux met swift 3.0.
Hallo wereld applicatie
Configuratie
Maak eerst een bestand met de naam Package.swift. Dit is het bestand dat de snelle compiler vertelt waar de bibliotheken zich bevinden. In dit voorbeeld van hallowereld gebruiken we GitHub-repo's. We hebben Kitura
en HeliumLogger
. Plaats de volgende code in Package.swift. Het specificeerde de naam van het project als kitura-helloworld en ook de afhankelijkheids-URL's.
import PackageDescription
let package = Package(
name: "kitura-helloworld",
dependencies: [
.Package(url: "https://github.com/IBM-Swift/HeliumLogger.git", majorVersion: 1, minor: 6),
.Package(url: "https://github.com/IBM-Swift/Kitura.git", majorVersion: 1, minor: 6) ] )
Maak vervolgens een map met de naam Bronnen. Maak binnen een bestand met de naam main.swift. Dit is het bestand dat we alle logica voor deze toepassing implementeren. Voer de volgende code in dit hoofdbestand in.
Importeer bibliotheken en schakel logboekregistratie in
import Kitura
import Foundation
import HeliumLogger
HeliumLogger.use()
Een router toevoegen. Router geeft een pad, type, enz. Van het HTTP-verzoek op. Hier voegen we een GET-aanvraaghandler toe die Hallo wereld afdrukt, en vervolgens een postverzoek dat platte tekst van het verzoek leest en het vervolgens terugstuurt.
let router = Router()
router.get("/get") {
request, response, next in
response.send("Hello, World!")
next()
}
router.post("/post") {
request, response, next in
var string: String?
do{
string = try request.readString()
} catch let error {
string = error.localizedDescription
}
response.send("Value \(string!) received.")
next()
}
Geef een poort op om de service uit te voeren
let port = 8080
Bind de router en poort samen en voeg ze toe als HTTP-service
Kitura.addHTTPServer(onPort: port, with: router)
Kitura.run()
uitvoeren
Navigeer naar de hoofdmap met het bestand Package.swift en de map Resources. Voer de volgende opdracht uit. Swift compiler downloadt automatisch de genoemde bronnen in Package.swift naar de map Pakketten en compileert deze bronnen vervolgens met main.swift
swift build
Wanneer de build is voltooid, wordt het uitvoerbare bestand op deze locatie geplaatst. Dubbelklik op dit uitvoerbare bestand om de server te starten.
.build/debug/kitura-helloworld
valideren
Open een browser, typ localhost:8080/get
as url en druk op enter. De hallo wereldpagina zou moeten verschijnen.
Open een HTTP-aanvraag-app, post platte tekst naar localhost:8080/post
. De antwoordreeks geeft de ingevoerde tekst correct weer.