しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Swiftraを使ってMac上にSwiftサーバーを作ってみる

下記事を参考にSwiftSwift Package Managerのインストールをします。

Swift Package Managerを使ってみる - しめ鯖日記

続けて下記事を見ながらSwiftraを動かしていきます。

SwiftでSinatraっぽくWebアプリケーションを書いてLinuxで動かす - Qiita

まずはswiftraをインストールします。 適当なフォルダを作り、その中にPackage.swiftというファイルを作成します。

import PackageDescription

let package = Package(
    name: "swiftra-example",
    dependencies: [
        .Package(url: "https://github.com/takebayashi/swiftra.git", majorVersion: 0)
    ]
)

次に同じフォルダにmain.swiftを作って下のように記述します。

import swiftra

get("/hello") { req in
    return "Hello, world!"
}

serve(8080)

最後にSwiftのBuildをしてswiftra-exampleを実行すればサーバーが立ち上がります。

swift build
.build/debug/swiftra-example

ブラウザでアクセスすると下のように表示されます。

f:id:llcc:20151215003920p:plain

POSTも試した所、しっかりと対応されていました。

import swiftra

get("/hello") { req in
    return "aaaHello, world!"
}

get("/hello/index") { req in
    return "index"
}

post("/hello") { req in
    print("POSTED")
    return ""
}

serve(8080)

printを使うと標準出力にログを吐き出してくれるようです。

f:id:llcc:20151215003936p:plain

注意点

git のバージョンが古いとUnknown option: -Cというエラーが出るのでgitは最新版にアップデートする必要があります。