前言:最近刚刚转swift,系统的API变化就不想多说了,连三方库的API都感觉到了陌生。这篇文章记录一下添加获取请求头的一些操作,以防自己忘记- -
- 首先,我们后台有个认证的东西,完成需要在header里面操作 print1.png
-
在提交的请求中添加header头还是比较简单的。Alamofire的Request方法里面就包含的有headers这个参数
header1.png
ps:这里面看着有很多参数,但是一些用不上的参数我们可以直接删掉。系统会有默认的参数,不用全部填写,比如这样 header2.png
在返回的response里面,可以使用
debugPrint(reponse)
来打印调试,里面有全部的服务器返回信息
-
刚才说的是添加header,接着来说一下获取header,之前我一直记得AFN的一个属性:allHeaderFields,可以直接获取到当前的所有headers。Alamofire,发现只有request.没有response
image.png
这里插一句,话说swift的文档资料也太少了。我找了很多资料,全是2016年的,现在已经2018年了,swift都4.0了。遇到问题去找资料确实很麻烦。
说回正题,我最后,发现之前的response里面是包含有所有我们需要的属性的。like this
image.png
[AngHashable : Any] 类型类似于NSDictionary的[key : value] 结构,如果是想获取所有的header信息。只需要
response.response?.allHeaderFields
这样就可以取到。如果需要指定的header,则填写相应的key值即可,例如下面的Authorization关键字
allHeaderFields[AnyHashable("Authorization")] as? String
到此就简单的梳理了一下Alamofire请求里面关于header的一些东西。还有一些扩展应用,比如,全局配置之类的。我研究一下之后再继续更新吧- -