Request Documentation

Protocol API

public protocol API: AnyObject  

配置请求的全局函数

API API AnyObject AnyObject API->AnyObject

Conforms To

AnyObject

Default Implementations

Request​Success​Handle

public typealias RequestSuccessHandle<M:Model> = (_ model:M) -> Void

请求成功的回掉函数

Parameters

model

请求成功的模型(基于Model的范型对象)

Request​Failure​Handle

public typealias RequestFailureHandle = (_ code:Int, _ message:String) -> Void

请求失败的回掉函数

Parameters

code

失败的错误吗

message

错误的原因

request(type:​config:​success:​failure:​)

public static func request<M:Model, A:APIConfig>(type:M.Type,
                                                     config:A,
                                                     success:RequestSuccessHandle<M>?,
                                                     failure:RequestFailureHandle?)  

发起一个请求(成功和失败回掉设置为可选值,是为了允许只发送请求不需要关心成功还是失败)

Parameters

type M.​Type

请求的模型类型

config A

发起请求的实例(基于APIConfig协议的对象)

success Request​Success​Handle<M>?

发起请求成功的回掉

failure Request​Failure​Handle?

发起请求失败的回掉

upload​File(type:​config:​file​Data:​success:​failure:​)

public static func uploadFile<M:Model, A:APIConfig>(type:M.Type,
                                                        config:A,
                                                        fileData:Data,
                                                        success:RequestSuccessHandle<M>?,
                                                        failure:RequestFailureHandle?)  

上传文件服务

Parameters

type M.​Type

接收模型的类型

config A

上传接口的配置

file​Data Data

上传的数据

success Request​Success​Handle<M>?

上传成功的回掉

failure Request​Failure​Handle?

上传失败的回掉

Requirements

host

static var host:String  

设置请求的Host 如果在Xcode中设置变量HOST则优先使用变量HOST,否则就使用设置的请求host

default​Headers​Config

static var defaultHeadersConfig:((_ headers:inout HTTPHeaders) -> Void)?  

配置默认Headers

  • headers: 当前请求header