Request Documentation

Protocol APIConfig

public protocol APIConfig  

请求API的设置

我们需要将实现这个协议,重写一些属性完成我们请求的配置。这个协议会默认实现一个简单的请求,请求方式为GET,没有任何参数,没有任何Header参数。

默认GET请求参数编码为URLEncoding.default,POST的请求参数编码为JSONEncoding.default

上传文件的默认后缀名称为.png

比如一个简单的GET的请求https://xxx.xxx.com/api/json?name=josercc

    struct SampleApi: APIConfig {
        var path: String { "/api/json" }
        var parameters: [String : Any] {
            [
                "name":"josercc"
            ]
        }
    }

Default Implementations

method

var method:HTTPMethod  

parameters

var parameters:[String:Any]?  

headers

var headers:[String:String]?  

encoding

var encoding:ParameterEncoding?  

file​Extension

var fileExtension:String  

upload​Progress

var uploadProgress:((Progress) -> Void)?  

multipart​Form​Data

var multipartFormData:MultipartFormDataHandle?  

Requirements

method

var method:HTTPMethod  

请求的方法默认为get 更多的支持的请求方式请查看HTTPMethod相关信息

path

var path:String  

请求的路径 需要和API.host组成一个请求链接 比如https://xxx.xxx.com/api/json?name=josercc 如果设置API.hos=https://xxx.xxx.com,那么此时的path="/api/json" 如果设置API.hos=https://xxx.xxx.com/,那么此时的path="api/json"

parameters

var parameters:[String:Any]?  

请求的参数 如果请求为GET则为Path Parameter 如果请求为POST则为Body Parameter

headers

var headers:[String:String]?  

请求的头部 设置公共的头部信息请在API.defaultHeadersConfig进行设置

encoding

var encoding:ParameterEncoding?  

请求的参数编码 默认get方法为URLEncoding.default, postJSONEncoding.default

file​Extension

var fileExtension:String  

文件上传的后缀 默认为.png

Upload​Progress​Handle

typealias UploadProgressHandle = (_ progress:Progress) -> Void

上传进度的回掉

Parameters

progress

上传的当前进度

upload​Progress

var uploadProgress:UploadProgressHandle?  

上传文件的进度

Multipart​Form​Data​Handle

typealias MultipartFormDataHandle = (_ multipartFormData:MultipartFormData) -> Void

上传文件设置自定义参数的回掉

Parameters

multipart​Form​Data

上传文件MultipartFormData对象

multipart​Form​Data

var multipartFormData:MultipartFormDataHandle?  

设置自定义上传