在Alamofire设置标题

时间:2016-08-10 14:51:26

标签: ios swift alamofire

我想在Alamofire中传递自定义标题。

[String : AnyObjetc]

我在互联网上浏览了很多但未能得到答案。

所有解决方案均为[String : String]

let headers = [
        "Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
        "Content-Type": "application/x-www-form-urlencoded"
    ]

我想传递

let Header = [
    "ActorImageDetails" : [    
        "TokenId":"bwymina009aEMyCknQHi87B2r0RNhffnrj8sXayGt1OSWsRmj2+daw==",
        "UserId":"400295",
        "AppId":"1"
     ]
]

2 个答案:

答案 0 :(得分:1)

使用NSMutableURLRequest方法setValue:ForHTTPHeaderField例如:

yourRequest.setValue("application/x-www-form-urlencoded" forHTTPHeaderField: "Content-Type")

答案 1 :(得分:0)

如果您想为请求使用添加标题:

let url = NSURL(string: Constants.Connector.UrlAddress)
let request = NSMutableURLRequest(URL: url!.URLByAppendingPathComponent(path))
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.addValue("Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", forHTTPHeaderField: "Authorization")
  

我想传递

     

[...]

您不应在标头中传递数据。您应该使用NSURLRequest.HTTPBody之类的:

let json: [String: AnyObject] = [...]
let data: NSData = NSJSONSerialization.dataWithJSONObject(json, options: .allZeros, error: nil)

request.HTTPBody = data

使用后端支持确认