2017-04-11 9 views
0

Alamofire 4リクエストのヘッダーに、値が別のキーと値のペアのキーを持つヘッダーを設定しようとしています。迅速なコンパイラは私のヘッダ変数に満足していますが、Alamofireはそれを受け取りません。Alamofireでキー値がネストされたヘッダーを設定する

これは私が持っているものです。

let subHeader = [ 
    "some-key": "some-value", 
    "another-oey": "another-value" 
    ] 

let headers : [String: Any] = [ 
    "some-header-key": "some-header-value", 
    "subdata": [subHeader] 
    ] 

// Upload data     
Alamofire.upload(data, 
    to: uploadurl, 
    method: .put, 
    headers: headers) 
    .validate() 
    .response { response in 
    // Handle response 
} 
+0

これを確認してください。http://stackoverflow.com/questions/41294012/alamofire-post-request-with-nested-json-parameters –

+0

@SivajeeBattinaそのようなソルバはサードパーティのlibを使用していますが、 SwiftyJson'。 – BlueBoy

+0

はい。あなたはSwiftyJSonを使いたくありませんか? –

答えて

0

あなたはAlamofire's sourceを見ている場合、あなたはHTTPHeadersが実際[String: String]で見ることができます。基本的には、Alamofire[String: String]headersとしています。

あなたのできることはsubheaderStringNSJSONSerializationに変換してAlamofireに渡すことです。

let dictData = try! JSONSerialization.data(withJSONObject: subheader) 
let dictString = String(data: dictData, encoding: String.Encoding.utf8)! 
print(dictString) 
// Now use "dictString" instead of "subheader" in your "headers" dictionary 

あなたが欲しいしかし、エラー処理を行うことができますが、私は簡単にするため! Sを使用。

関連する問題