KituraContracts 1.2.1

KituraContracts 1.2.1

由以下人员维护:Matt KilnerDavid JonesMathieu BarnachonAndrew LeesSwift-at-IBMDanny Sung



  • IBM

Kitura

APIDoc Build Status - Master macOS Linux Apache 2 Slack Status

KituraContracts

概要

KituraContracts 包含客户端(例如 KituraKit)和服务器(例如 Kitura)代码共享的类型定义。这些共享类型定义包括 Codable Closure AliasesRequestErrorQueryEncoderQueryDecoderCoderIdentifier 协议以及 String 和 Int 的扩展,为 Identifier 协议添加了合规性。

使用方法

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

添加依赖

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

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

KituraContracts 添加到您的目标依赖项中

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

导入包

import KituraContracts

示例

此示例演示了如何在 users 路由的 POST 方法中使用共享类型定义 RequestError。如果没有发生错误,并且您有一个 User 实例,您可以响应用户并传递 RequestError? 的 nil 值。如果发生了错误,您可以响应一个适当的错误并传递 User? 的 nil。

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中找到。