Hello World
こんにちは、fummicc1です。今回は、Swiftでサーバーサイドを実装してみようということで記事にしました。
Kitura
KituraとはSwiftでサーバーサイドを実装するためのフレームワークです。他にもPerfectやVaporなどがあります。
Setup
環境
- Xcode 10.2
- Swift 5
Kitura導入
まずは、今回のためのディレクトリを作成しましょう。
mkdir KituraHelloWorld
cd KituraHelloWorld
次に、kituraをインストールして、プロジェクトの初期化を行います。(インターネットからダウンロードをするので時間がかかります。)
brew tap ibm-swift/kitura
brew install kitura
kitura init
これで、初期設定ができました。次に、xcodeでプロジェクトを開いていきます。
open KituraHelloWorld.xcodeproj/
上のコマンドでXcodeを立ち上げてくれます。
開いたら、Cmd + 1でファイルツリーを開き、Routesフォルダに新しく、HelloWorldRoutes.swift
を作成します。
作成したHelloWorldRoutes.swift
に以下の記述をします。
func initializeHelloWorldRoutes(app: App) {
app.router.get("/helloWorld") { (request, response, next) in
response.send("Hello World!")
}
}
ここでは、GETリクエストに対しての処理を記述しています。ルーティングも指定していて、第一引数で指定できます。今回は、/helloWorld
です。
次に、このinitializeHelloWorldRoutes
をApplication.swift
のAppクラスで呼んであげます。
public class App {
let router = Router()
let cloudEnv = CloudEnv()
public init() throws {
// Run the metrics initializer
initializeMetrics(router: router)
}
func postInit() throws {
// Endpoints
initializeHealthRoutes(app: self)
initializeHelloWorldRoutes(app: self) // ここを追加!
}
public func run() throws {
try postInit()
Kitura.addHTTPServer(onPort: cloudEnv.port, with: router)
Kitura.run()
}
}
これで、完成です。あとは、Cmd + R でXcodeがローカルホストを立ち上げてくれます。URLはこちらです。
