2015-09-24 3 views
5

にカスタムヘッダーを追加します。スウィフトAlamofireが、私はこれでカスタムヘッダーを追加しようとしたすべての要求

let manager = Manager.sharedInstance 
manager.session.configuration.HTTPAdditionalHeaders = [ 
    "Authorization": "Token \(token)" 
] 

しかし、それは動作しません、私は間違って何をやっていますか?

これは、ログイン後に追加する必要があります。そのため、ヘッダーはすべてのリクエストで使用されます。

答えて

4

あなたがそれを行う場所を私は知らないが、私のAlomoFire要求は次のようになります。

Alamofire.request(.GET, urlPath, parameters: parameters, headers: ["X-API-KEY": apiKey, "Content-type application":"json", "Accept application" : "json"]).responseJSON() { (req,res, data, error) in //blah blah } 

私の推測では、

+2

にデモとしてRequestAdapterを使用することでそれが唯一のリクエストのヘッダを設定しますが、ミルザdelicが、すべての要求 –

+0

にカスタムヘッダーを設定する方法を尋ねました@そのヘッダー配列または辞書にGlennヘッダー情報 –

1

あなたはAuthorizationを追加するべきではありませんあなたはそのヘッダーの配列にあなたのヘッダー情報を置くことができるということですヘッダーをこのようにします。 @Glennで示されるように、requestメソッドのheadersパラメータを使用して追加する必要があります。

その他のヘッダーを構成に追加する必要がある場合は、カスタム構成を作成し、ヘッダー値を設定して、新しい構成で新しいManagerインスタンスを作成する必要があります。既にURLセッションを作成するために使用された後に設定にヘッダーを追加すると、実行中のOSのバージョンによって未定義の動作が発生します。 Alamofireでは、このさまざまな動作を実証する多くのテストがあります。

2

100件以上のリクエストにヘッダーを追加することで、アプリ全体を手動で置き換えるのに疲れました。 sharedInstance.requestまたは何あなたをを探し、次にXcodeプロジェクトに、Ctrl + Shift + Fを

import Foundation 
import Alamofire 

extension Manager { 
    public func myRequest(
     method: Alamofire.Method, 
     _ URLString: URLStringConvertible, 
     parameters: [String: AnyObject]? = nil, 
     encoding: ParameterEncoding = .URL, 
     headers: [String: String]? = ["MY-STATIC-API-KEY" : "BLAHBLAHBLAH"]) 
     -> Request 
    { 
     return Manager.sharedInstance.request(
      method, 
      URLString, 
      parameters: parameters, 
      encoding: encoding, 
      headers: headers 
     ) 
    } 
} 

AlamofireManagerExtension.swiftを作成し、次のコードを使用します。私はもっとlazierなアプローチを選択しました(私のコードはすべてこのパターンに従います)、それをsharedInstance.myRequestに置き換えてください(拡張機能自体のsharedInstance.requestを変更しないようにしてください)。

すべての要求に対してグローバルに変更されたカスタムヘッダ!

カスタムキーを追加する場合はもちろん、 sharedInstance.request(メソッド:...)のようなreplaceメソッドを使用してsharedInstance.myRequest(customKeys:...、メソッド)にメソッドを追加できます。 。)カスタム変数が必要な場合。これを行うには

関連する問題