Saltar al contenido

Cómo usar Alamofire con encabezados personalizados para solicitudes POST

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *