Отправить массив в качестве параметра в запросе Alamofire POST
В настоящее время мое приложение использует AWS API Gateway и Alamofire для доступа к различным лямбда-функциям, которые действуют как мой бэкэнд.
Мне нужно отправить массив в качестве одного из параметров в одну из этих конечных точек API, для этого я использую следующий код:
var interests : [String]
interests = globalInterests.map({ (interest) -> String in
return interest.id!
})
// Parameters needed by the API
let parameters: [String: AnyObject] = [
"name" : name,
"lastName" : lastName,
"interests" : interests
]
// Sends POST request to the AWS API
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON).responseJSON { response in
// Process Response
switch response.result {
case .Success:
print("Sucess")
case .Failure(let error):
print(error)
}
}
Но это не работает, потому что массив не распознается API, но если я создаю «статический» массив
let interests = ["a", "b", "c"]
Все работает как положено.
Как я могу исправить эту ситуацию, учитывая, что массив интересов происходит из другой части кода, как я должен объявить или построить это?
Друг смог сделать это в Android с помощью
ArrayList<String>
РЕДАКТИРОВАТЬ:
Печать массива параметров показывает мне это:
["name":test, "interests": <_TtCs21_SwiftDeferredNSArray 0x7b05ac00>( 103, 651, 42), "lastName": test]