带有字符串和NSDate Swift的HTTP POST请求

带有字符串和NSDate Swift的HTTP POST请求,swift,httprequest,Swift,Httprequest,我希望在有效负载上有这些参数,以便向后端发送POST请求 '{"token":"xxxx", "extra_information": {"expires_in": xxxx, "refresh_token": "xxx", "user_id": "user_uuid", "token_type": "Bearer"}}' 带有“xxxx”的参数将通过集成获得。我正在尝试创建一个函数来发送此消息 func sendAuth() { if let url = NSURL(str

我希望在有效负载上有这些参数,以便向后端发送POST请求

 '{"token":"xxxx", "extra_information": {"expires_in": xxxx, "refresh_token": "xxx", "user_id": "user_uuid", "token_type": "Bearer"}}'
带有“xxxx”的参数将通过集成获得。我正在尝试创建一个函数来发送此消息

    func sendAuth() {
    if let url = NSURL(string: "https://xxxxxxxxxxxx"){
        let request = NSMutableURLRequest(URL: url)
        request.HTTPMethod = "POST" 
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        let token = AccessToken?()
        let params = ["token" : (token?.tokenString)!, "refresh_token" : (token?.refreshToken)!,"expires_in" : (token?.expirationDate)!, "user_id" : "uber_uuid"  , "token_type" : "Bearer"] as Dictionary <String,String>

        let httpData = NSKeyedArchiver.archivedDataWithRootObject(params)
        request.HTTPBody = httpData
        let session = ServicesUtils.BaseSessionManager()
        session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
            var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
            print("\(strData)")
        }).resume()
func sendAuth(){
如果let url=NSURL(字符串:https://xxxxxxxxxxxx"){
let request=NSMutableURLRequest(URL:URL)
request.HTTPMethod=“POST”
request.addValue(“应用程序/json”,forHTTPHeaderField:“内容类型”)
let token=AccessToken?()
让params=[“token”:(token?.tokenString)!,“refresh_token”:(token?.refreshToken)!,“expires_in”:(token?.expirationDate)!,“user_id”:“uber_uuid”,“token_type”:“Bearer”]作为字典
让httpData=NSKeyedArchiver.archivedDataWithRootObject(参数)
request.HTTPBody=httpData
let session=ServicesUtils.BaseSessionManager()
session.dataTaskWithRequest(请求,completionHandler:{(数据,响应,错误)->中的Void
var strData=NSString(数据:数据,编码:NSUTF8StringEncoding)
打印(“\(标准数据)”)
})1.简历()
写入此xCode后,显示错误“无法将NSDate类型的值转换为预期的字典值类型字符串”,原因是接收NSDate中的参数expires\u


编辑1-更改词典后可能收到strData出现错误“无法将'nsurresponse'类型的值转换为预期的参数类型'NSData'”

Its,因为您正在将
参数转换为
词典
这就是为什么它不会接受
NSDate
作为词典中的值


您需要像更改字典一样更改它,它将正常工作。

token?.expirationDate
返回
NSDate
?是@DharmeshKheniAt您得到错误的哪一行?@DharmeshKheni在“var strData=NSString(数据:数据,编码:NSUTF8StringEncoding)”中检查: