Tengo un parámetro de cuerpo de POST como este:
{ "id": 0, "name": "string", "contactInfo": "string", "message": "string" }
Entonces, como estoy usando el Alamofire para publicar los parameters, estoy describiendo el dictionary del cuerpo de correos así:
let body = ["id": userID, "name": userName, "contactInfo": contactInfo, "message": message] class func postUserFeedback(userID: Int, userName: String, contactInfo: String, message: String,completionHandler: @escaping (FeedbackResponse?) -> Void) { let body = ["id": userID, "name": userName, "contactInfo": contactInfo, "message": message] request(route: .userFeedback, body: body).responseObject { (response: DataResponse<FeedbackResponse>) in response.result.ifSuccess({ completionHandler(response.result.value) }) response.result.ifFailure { completionHandler(nil) } } }
Pero estoy recibiendo el error como este:
¿Qué estoy haciendo mal en esta syntax?
Si el tipo no se puede inferir , debe anotarlo:
let body : [String:Any] = ["id": userID, "name": userName, "contactInfo": contactInfo, "message": message]
Debe agregar un tipo explícito [String: Any]
a la variable.
let body = ["id": userID, "name": userName, "contactInfo": contactInfo, "message": message] as [String: Any]