私のアプリは現在、AWS API GatewayとAlamofireを使用して、バックエンドとして機能するさまざまなラムダ機能にアクセスしています。Alamofire POSTリクエストで配列をパラメータとして送信
私はそのために、私は次のコードを使用しています、これらのAPIエンドポイントの一つにパラメータの1つとして配列を送信する必要があります。
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"]
すべてが正常に動作します。
利益の配列がコードの別の部分から来ている場合、どのように宣言するか、または構築する必要があるのでしょうか?
はあなただけ宣言した["name":test, "interests": <_TtCs21_SwiftDeferredNSArray 0x7b05ac00>(103, 651, 42), "lastName": test]
! ? – Lion
私は「利益」は常に空であり、利益を計算するコードは私には意味がないと思います。空の配列が宣言されていて、それをマップしようとしました。その部分を明確にすることはできますか? – Shripada
質問を編集したところ、コードをコピーするときに間違いを犯しました。マップの後、配列は空ではなく、3つの値を持つ[(String)]です – ur3k