Как передать массив параметров объекта в Alamofire Swift - PullRequest
0 голосов
/ 16 июня 2020

Я новичок в Swift, помогите мне.

Я хочу передать массив объектов в Alamofire, и я не знаю, как это сделать

Вот требуемый параметр :

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZWU4OGZiNzhiYTBkMjMyZDFmYWZkMzgiLCJpYXQiOjE1OTIyOTk2Njh9.AVuxiTZy10fV2ZMZcT-oHXSg6PdK3tfE",
    "zipCodes": [
        {
            "zip_code": "55001",
            "city": "Afton",
            "state": "MN",
            "county": "Washington"
        }
    ]
}

И я это делаю

 let parameters : [String : String] = ["token" : retrivedToken, "zipCodes" : [{
            "zip_code": "55001",
            "city": "Afton",
            "state": "MN",
            "county": "Washington"
            }]
        ]

Ответы [ 2 ]

1 голос
/ 16 июня 2020
let bodyParams: [String : Any] = [
            "token": "\(retrivedToken)",
            "zipCodes":[
                "county": "Washington",
                "state": "MN",
                "zip_code": "55001",
                "city": "Afton"
            ]
        ]
    }

let urlString = "ab c .com"

Alamofire.request(urlString, method: .post, parameters: bodyParams ,encoding: JSONEncoding.default, headers: nil).responseJSON {  
response in
  switch response.result {
                case .success:
                    print(response)
                    break
                case .failure(let error):

                 print(error)
      }
}
1 голос
/ 16 июня 2020

Просто укажите свой параметр в запросе.

func sendRequestRequest() {
// JSON Body
let parameters: [String : Any] = [
    "token": retrivedToken,
    "zipCodes": [
        "county": "Washington",
        "state": "MN",
        "zip_code": "55001",
        "city": "Afton"
    ]
]

// Fetch Request
Alamofire.request("your API url", method: .post, parameters: parameters, encoding: JSONEncoding.default)
    .validate(statusCode: 200..<300)
    .responseJSON { response in
        if (response.result.error == nil) {
            print("HTTP Response Body: \(response.data)")
        }
        else {
            print("HTTP Request failed: \(response.result.error)")
        }
    }

}

Не забывайте, если вы используете Alamofire v5, используйте AF.request вместо Alamofire.request

...