Swift Alamofire ajouter un en-tête personnalisé à toutes les demandes
J'ai essayé d'ajouter un en-tête personnalisé avec ceci:
let manager = Manager.sharedInstance
manager.session.configuration.HTTPAdditionalHeaders = [
"Authorization": "Token \(token)"
]
Mais ça ne fonctionne pas, ce que je fais mal?
J'ai besoin d'ajouter cette après la connexion, de sorte que l'en-tête sera utilisé dans toutes les demandes.
OriginalL'auteur Mirza Delic | 2015-09-24
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas où vous le faites, mais mes AlomoFire demandes de ressembler à :
Ma conjecture est que vous pouvez mettre vos informations d'en-tête dans les en-têtes de tableau
informations d'en-tête dans les en-têtes de tableau ou de Dictionnaire
OriginalL'auteur Glenn
Je suis fatigué d'essayer de remplacer manuellement l'ensemble de l'application en ajoutant des en-têtes à 100+ de mes demandes. J'ai opté pour une plus lazier approche:
Faire un AlamofireManagerExtension.swift et utiliser le code suivant:
Puis, ctrl-shift-f sur votre projet xcode, recherche pour sharedInstance.demande ou tout ce que vous faites pour faire des demandes (l'ensemble de mon code qui suit ce modèle) et de le remplacer avec sharedInstance.myRequest (veillez à ne pas changer l'extension du sharedInstance.demande) et le tour est joué:
Globalement changé en-tête personnalisé pour toutes les demandes!
Si vous voulez ajouter dans la coutume clés, bien sûr, vous pouvez ajouter des méthodes avec le remplacement de la méthode comme
sharedInstance.demande(méthode: ...) à sharedInstance.myRequest(customKeys: ..., méthode: ...) si vous avez besoin de variables personnalisées.
OriginalL'auteur apollow
Une façon de le faire est d'utiliser un RequestAdapter comme démontré sur la Alamofire l'utilisation avancée de la documentation.
OriginalL'auteur Alexis
Vous ne devez pas ajouter
Authorization
les en-têtes de cette façon. Ils doivent toujours être ajoutés à l'aide de laheaders
paramètre dans larequest
méthode comme indiqué par @Glenn.En outre, si vous devez ajouter d'autres en-têtes de configuration, vous devez créer une configuration personnalisée, définissez les valeurs d'en-tête, puis créer un nouveau
Manager
exemple avec la nouvelle configuration. Ajouter des en-têtes pour une configuration après il a déjà été utilisé pour créer une URL résultats de la session de comportement non défini selon la version du système d'exploitation que vous exécutez sur. Nous avons de nombreux tests Alamofire démonstration de ce comportement variable.OriginalL'auteur cnoon