KituraContracts
概要
KituraContracts 包含客户端(例如 KituraKit)和服务器(例如 Kitura)代码共享的类型定义。这些共享类型定义包括 Codable Closure Aliases,RequestError,QueryEncoder,QueryDecoder,Coder,Identifier 协议以及 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中找到。