热门搜索 :
考研考公
您的当前位置:首页正文

Swift4.0 使用Alamofire,给请求添加heade

来源:东饰资讯网

前言:最近刚刚转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的一些东西。还有一些扩展应用,比如,全局配置之类的。我研究一下之后再继续更新吧- -

Top