Sto cercando di fare una richiesta GET con Alamofire in Swift. Ho bisogno di impostare le seguenti intestazioni:Alamofire Accept e Content-Type JSON
Content-Type: application/json
Accept: application/json
ho potuto hack in giro e farlo specificando direttamente le intestazioni per la richiesta, ma voglio farlo con ParameterEncoding
, come suggerito nella biblioteca. Finora ho questo:
Alamofire.request(.GET, url, encoding: .JSON)
.validate()
.responseJSON { (req, res, json, error) in
if (error != nil) {
NSLog("Error: \(error)")
println(req)
println(res)
} else {
NSLog("Success: \(url)")
var json = JSON(json!)
}
}
Content-Type
è impostato, ma non Accept
. Come posso farlo correttamente?
L'approccio migliore che riesco a fare adesso è quello di aggiungerlo al proprietà ultHeaders' di 'AlamoFire.Manager' –
@David Come sarebbe esattamente? Ho provato 'Alamofire.Manager.defaultHTTPHeaders(). UpdateValue (valore:" application/json ", forKey:" Accept ")' senza fortuna – jlhonora
In realtà è necessario cambiarlo in 'manager.session.configuration. Proprietà HTTPAdditionalHeaders'. Se lo si modifica, la modifica verrà applicata a tutte le richieste successive. Un'altra possibilità è quella di aggiungere una 'Request' modellata su' validate' che mi ha permesso di impostare un header al volo. In questo modo è possibile cambiarlo per una singola richiesta. –