SlimGateway 2.0.1

SlimGateway 2.0.1

Juanjo Villaescusa 维护。



  • 作者:
  • Juanjo Villaescusa

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 许可证的条款和条件下分发。