SlimGateway
SlimGateway 是一个网络层,您可以在项目中包含它以通过简单而优雅的方式访问 RESTFUL 资源。
安装
CocoaPods
CocoaPods 是一个依赖管理器,它可以自动并简化在项目中使用例如 SlimGateway
这样的第三方库的过程。
首先,将以下行添加到您的 Podfile
pod 'SlimGateway'
然后,运行以下行以将其集成到您的项目中。
pod install
使用方法
基本 GET 请求
导入框架
import SlimGateway
定义您的实体
struct Album: Decodable {
let id: Int
let title: String
}
使用解码闭包创建 URLResource
let source = URL(string: "https://jsonplaceholder.typicode.com/albums")!
let resource = URLResource<[Album]>(url: source) { data in
try? JSONDecoder().decode([Album].self, from: data)
}
现在我们已准备好使用 SlimGateway 进行调用
let gateway = SlimGateway()
gateway.request(urlResource: resource) { result in
switch result {
case .success(let albums):
print(albums.count)
case .failure:
print("some error")
}
}
POST 请求
要创建一个新相册,我们设置资源如下
let url = URL(string: "https://jsonplaceholder.typicode.com/albums")!
var newAlbum = [String: Any]()
newAlbum["userId"] = 1
newAlbum["title"] = "foo"
let newAlbumResource = URLResource<Album>(url: url, httpMethod: .post, parameters: newAlbum) { data in
try? JSONDecoder().decode(Album.self, from: data)
}
let gateway = SlimGateway()
gateway.request(urlResource: resource) { result in
switch result {
case .success(let album):
print(album.id)
case .failure:
print("some error")
}
}
许可证
SlimGateway
在 MIT 许可证的条款和条件下分发。