Kitura

APIDoc License

KituraContracts

概述

KituraContracts 是一个库,包含客户端(例如 KituraKit)和服务器(例如 Kitura)代码共享的类型定义。这些共享的类型定义包括 Codable 闭包别名RequestErrorQueryEncoderQueryDecoderCoderIdentifier 协议 以及为 String 和 Int 添加符合 Identifier 协议的 扩展

用法

KituraContracts 表示 Kitura 服务器和 KituraKit 客户端库共有的类型和协议。 如果您正在使用 Kitura 或 KituraKit,您的项目不需要显式依赖 KituraContracts。

添加依赖项

KituraContracts 包添加到应用程序 Package.swift 文件中的依赖项。 将 "x.x.x" 替换为最新的 KituraContracts 版本

.package(url: "https://github.com/Kitura/KituraContracts.git", from: "x.x.x")

KituraContracts 添加到您的目标依赖项

.target(name: "example", dependencies: ["KituraContracts"]),

导入包

import KituraContracts

示例

此示例展示了如何在 users 路由器的 POST 方法中使用共享的类型定义 RequestError。 如果没有发生错误并且您有一个 User,您可以返回该用户,并将 nil 作为 RequestError? 值传递。 如果发生错误,您可以返回相应的错误,并将 nil 传递给 User?

public struct User: Codable {
    ...
}

router.post("/users") { (user: User, respondWith: (User?, RequestError?) -> Void) in

    if databaseConnectionIsOk {
        ...
        respondWith(user, nil)
    } else {
        ...
        respondWith(nil, .internalServerError)
    }
}

Swift 版本

1.x.x 版本已在 macOS 和 Linux 上使用 Swift 4.1 二进制文件进行了测试。 请注意,这是 Xcode 9.3 中包含的默认 Swift 版本。

API 文档

有关更多信息,请访问我们的 API 参考

社区

我们很乐意讨论服务器端 Swift 和 Kitura。 加入我们的 Slack 来认识团队!

许可证

该库在 Apache 2.0 许可下获得许可。 完整的许可文本可在 LICENSE 中找到。