一个基于 URLSession 的面向对象的网络库。
通过 URL 将 Swift Package Dependency 添加到您的项目
https://github.com/Ast3r10n/swiftquests
将 SwiftQuests 添加到您的 Podfile
pod 'SwiftQuests'
一个 Request 是一个基本的、独立的、与单个关联任务相关的对象,通过其初始化程序进行配置。一旦初始化,Request(在很大程度上)是不可变的。 它的任务仅通过 perform 方法调用来启动。
要执行一个基本的 Request,先初始化它
do {
let request = try Request(.get,
atPath: "/user")
} catch {
// Error handling
}
然后调用 perform 方法来启动其关联的任务。
do {
try request.perform { result in
// Response implementation
}
} catch {
// Error handling
}
Request 支持使用 Decodable 对象自动进行 JSON 解码
这是一个从 /user 端点获取 Decodable User 对象的 Request 示例。
do {
try Request(.get,
atPath: "/user")
.perform(decoding: User.self) { result in
// Your completion handler here
}
} catch {
// Error handling
}