Nuestros desarrolladores estrellas han agotado sus depósitos de café, por su búsqueda diariamente por la respuesta, hasta que Gerardo encontró la respuesta en Gogs por lo tanto ahora la comparte aquí.
Solución:
Aquí hay un ejemplo de cómo lo uso con encabezados personalizados:
var manager = Manager.sharedInstance
// Specifying the Headers we need
manager.session.configuration.HTTPAdditionalHeaders = [
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "application/vnd.lichess.v1+json",
"X-Requested-With": "XMLHttpRequest",
"User-Agent": "iMchess"
]
Ahora, cada vez que realice una solicitud, utilizará los encabezados especificados.
Su código refactorizado: recuerde import Alamofire
let aManager = Manager.sharedInstance
manager.session.configuration.HTTPAdditionalHeaders = [
"Authorization": "Bearer (accessToken)" ]
let URL = url + "/server/rest/action"
request(.POST, URL, encoding: .JSON)
.responseJSON
(request, response, data, error) -> Void in
println("REQUEST: (request)")
println("RESPONSE: (response)")
println("DATA: (data)")
println("ERROR: (error)")
Esta es la firma de solicitud request(method: Method, URLString: URLStringConvertible>, parameters: [String : AnyObject]?, encoding: ParameterEncoding)
Como puede ver, no tiene que pasar un NSURL en él, solo el string de la URL, Alamofire se encarga del resto.
Existe una solución simple para enviar parámetros y encabezados con una sola solicitud de Alamofire para Swift 3 y Alamofire 4.0
let url = "myURL"
let parameters: Parameters = [
"param1": "hello",
"param2": "world"
]
let headers = [
"x-access-token": "myToken",
]
Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON (response) in
if response.result.isFailure
//In case of failure
else
//in case of success
Reseñas y valoraciones
Nos puedes animar nuestra investigación exponiendo un comentario y dejando una puntuación te damos la bienvenida.