YTKNetwork-SWItroFiT
- 类似于 Retrofit 的 YTKNetwork 包装器
用法
class DataService {
@GET("data/items")
private var listApiBuilder: YTKNetworkApiBuilder<ItemList>
func listApi(startCursor: String, limit: Int = 20, arguments: [String: Any?]) -> YTKNetworkApi<ItemList> {
return listApiBuilder.build(with: #function, startCursor, limit, arguments)
}
@GET("data/items/{itemId}")
private var itemApiBuilder: YTKNetworkApiBuilder<Item>
func itemApi(itemId: Int) -> YTKNetworkApi<Item> {
return itemApiBuilder.build(with: #function, itemId)
}
}
let service = DataService()
// request "data/items?startCursor=0&limit=20&key1=value1&key2=value2
let listApi = service.listApi(startCursor: "0", arguments: ["key1": 1, "key2": "value2", "key3": nil])
// request "data/items/123456
let itemApi = service.itemApi(itemId: 123456)
注意
- 构建函数的参数应与 API 函数的、数量和顺序相符合
- 不要用 _ 来省略 API 函数的参数名称
- 'arguments' 是为批量添加查询保留的,其类型应为 [String: Any?],NULL 值将被忽略
- 使用
SwitrofitConfig.instance.setIgnoredPathArguments
来保持 {argument} 在路径中
要求
- Swift 5.1+
- YTKNetwork 3.0+
安装
YTKNetwork-SWItroFiT 通过 CocoaPods 提供使用。要安装它,只需将以下行添加到您的 Podfile
pod 'YTKNetwork-SWItroFiT'
作者
李强, uraka.lee(at)gmail.com
待办事项
- POST
- 在路径中支持{设备}
- 在发布构建中检查#函数
- 使用OC进行检查
- PUT
- HEAD/DELETE
- 为单元测试进行简单模拟
许可证
YTKNetwork-SWItroFiT遵守MIT许可证。有关更多信息,请参阅LICENSE文件。