Alamofire是一个swift语言的网络开源库,主要用于网络请求,响应操作,响应校验,响应缓存
其基本用法如下:
进行网络请求、响应操作、响应校验、响应缓存
http方式、parameter编码、http headers 、验证
数据的上传与下载
工具类有CURL command outPut、statical metrics
高级用法
url 绘话管理、绘话代理、绘话请求
routing请求操作
model objects
安全已经网络监测
例子一、一个简单的网络请求
Alamofire
.request("https://httpbin.org/getdata").responseJSON{ response in
// 这是一个简单的网络请求,采用的是get请求
/*response常用的几个属性
*
request
原url请求
*
response
httpurl的响应
*
result
序列化的操作
*/
print(
"Request: \(String(describing: response.request))"
) // 打印请求的URL
print(
"Response: \(String(describing: response.response))"
) //打印请求的响应
print(
"Result: \(response.result)"
) //打印返回的序列化内容
if let json = response.result.value {
//序列化后的内容 主要输出的是json内容格式
}
if let data = response.data let utf8 = String(data:data, encoding:.utf8) {
// 以二进制数据进行输出,主要用于进行缓存
}
}
Alamofire
一共包含了5中不同的响应方式
第一种 返回response对象
func response(
queue
: DispatchQueue
?
, completionHandler: @escaping (DefaultDataResponse)
->
Void
)
-> Self
第二种 返回data数据
func responseData(
queue
: DispatchQueue
?
, completionHandler: @escaping (DataResponse
<Data>
)
->
Void
)
-> Self
第三种 返回string
func responseString(
queue
: DispatchQueue
?
, encoding:
String.
Encoding
?
, completionHandler: @escaping (DataResponse
<String>
)
->
Void
)
-> Self
第四种返回json
func responseJSON(
queue
: DispatchQueue
?
, completionHandler: @escaping (DataResponse
<
Any
>
)
->
Void
)
-> Self
第五种 返回list
func responsePropertyList(
queue
: DispatchQueue
?
, completionHandler: @escaping (DataResponse
<
Any
>
)
->
Void
))
-> Self
一、
response
仅仅用于响应请求操作,仅仅是进行执行请求
Alamofire.
request
(
"https://httpbin.org/get"
).
response
{
response
in
print(
"Request: \(response.request)"
) print(
"Response: \(response.response)"
) print(
"Error: \(response.error)"
)
if
let
data =
response
.data,
let
utf8Text =
String
(data: data, encoding: .utf8) { print(
"Data: \(utf8Text)"
) }}
二、