Hello World 的应用

组态

首先,创建一个名为 Package.swift 的文件。这是告诉 swift 编译器库所在位置的文件。在这个 hello world 示例中,我们使用 GitHub repos。我们需要 KituraHeliumLogger。将以下代码放在 Package.swift 中。它将项目的名称指定为 kitura-helloworld 以及依赖 URL。

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) ] )

接下来,创建一个名为 Sources 的文件夹。在里面,创建一个名为 main.swift 的文件。这是我们为此应用程序实现所有逻辑的文件。在此主文件中输入以下代码。

导入库并启用日志记录

import Kitura
import Foundation
import HeliumLogger

HeliumLogger.use()

添加路由器 Router 指定 HTTP 请求的路径,类型等。这里我们添加一个 GET 请求处理程序,它打印 Hello world ,然后是一个 post 请求,它从请求中读取纯文本然后将其发回。

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()
}

指定运行服务的端口

let port = 8080

将路由器和端口绑定在一起,并将它们添加为 HTTP 服务

Kitura.addHTTPServer(onPort: port, with: router)
Kitura.run()

执行

使用 Package.swift 文件和 Resources 文件夹导航到根文件夹。运行以下命令。Swift 编译器会自动将 Package.swift 中提到的资源下载到 Packages 文件夹中,然后使用 main.swift 编译这些资源

swift build

构建完成后,可执行文件将放置在此位置。双击此可执行文件以启动服务器。

.build/debug/kitura-helloworld

验证

打开浏览器,输入 localhost:8080/get 作为 url 并按 Enter 键。Hello World 页面应该出来了。

StackOverflow 文档

打开 HTTP 请求应用程序,将纯文本发布到 localhost:8080/post。响应字符串将正确显示输入的文本。

StackOverflow 文档