GenAPI
示例
要运行示例项目,克隆仓库,然后首先从 Example 目录中运行 pod install
。
GenAPI 利用 Swift 泛型,让您可以轻松地定义 API 调用的返回类型。
let userAPIObject = APIObject<User, DefaultError>(success: { (user) in
print(user)
}, failure:{ (apiError) in
})
userAPIObject.baseURL = URL(string:"https://jsonplaceholder.typicode.com")
userAPIObject.endPoint = "/users/1"
userAPIObject.debugOptions = .printDetailedTransaction
userAPIObject.get()
所需的所有的是,您的返回类型符合 Decodable
协议。
struct User: Decodable{
struct Company: Decodable{
var name: String
var catchPhrase: String
}
var id: Int
var name: String?
var company: Company?
}
APIError
枚举将任何错误分解为以下 3 种可能之一
- 会话错误
- 编码错误
- 或 API 错误
如果 Session
存在错误,则返回会话错误。
尝试解码响应类型或错误类型时抛出错误,返回编码错误。(编码错误最常见的是 DecodingError
。)
如果响应的 HTTP 状态码确定在成功范围之外,则返回 API 错误。
APIObject
类提供了许多方便的函数,可以轻松操作底层 URLRequest
,但请求也是公开的,以防您需要进行任何自定义配置。只需使用 APIObject.request
访问。
安装
GenAPI 可通过 CocoaPods 获得。要进行安装,只需将以下行添加到您的 Podfile 即可
pod 'GenAPI'
作者:
Lucas Best, [email& protected]
许可证
GenAPI 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。