2016-09-18 3 views
1

Я пытаюсь преобразовать этот вызов curl в Alamofire в Swift.Пользовательские параметры Alamofire

curl -X POST https://content.dropboxapi.com/2/files/download  
    --header "Authorization: Bearer ab-xxx-x-x"  
    --header "Dropbox-API-Arg: {\"path\": "/acme101/acmeX100/acmeX100.001.png\"}" 

И я полагал, что это ...

let headers:HTTPHeaders = ["Authorization": "Bearer " + token2Save] 
let moreheaders:Parameters = ["Dropbox-API-Arg": ["path":sourcePath]] 

Alamofire.request("https://content.dropboxapi.com/2/files/download", parameters: moreheaders, encoding: URLEncoding(destination: .queryString), headers: headers).responseJSON { feedback in 
     guard feedback.result.value != nil else { 
      print("Error: did not receive data", print("request \(request) feedback \(feedback)")) 
      return 
     } 

Но, конечно, это не работает, он выходит из строя с ...

request (Function) feedback FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.})) 
Error: did not receive data() 

Это должно быть в заголовке , а не тело.

+1

http://stackoverflow.com/questions/33518839/nsjsonserialization -error-code-3840-invalid-value-around-character-0 –

+0

Ожидаемый результат в каком формате? –

+1

http://stackoverflow.com/questions/32355850/alamofire-invalid-value-around-character-0 –

ответ

2
let headers:HTTPHeaders = ["Authorization": "Bearer " + token2Save] 
let moreheaders:Parameters = ["Dropbox-API-Arg": ["path":sourcePath]] 

Alamofire.request("https://content.dropboxapi.com/2/files/download", parameters: moreheaders, encoding: URLEncoding(destination: .queryString), headers: headers).responseJSON { feedback in 
     guard feedback.result.value != nil else { 
      print("Error: did not receive data", print("request \(request) feedback \(feedback)")) 
      return 

URLEncoding (назначение: .queryString), заголовки: заголовки) .responseJSON

 Replace responseJSON with responseString and check your response from webservice.. it will lead to get the error line. 
Смежные вопросы