リクエストの応答ヘッダーを取得するにはどうすればよいですか?以下は私が行うリクエストです。
Alamofire.request(.GET, requestUrl, parameters:parameters, headers: headers)
.responseJSON { response in switch response.result {
case .Success(let JSON):
...
case .Failure(let error):
...
}
前もって感謝します!
応答のタイプがNSHTTPURLResponse
の場合、response.allHeaderFields
からヘッダーを取得できます。
したがって、Alamofire responseJSONを使用すると、次のようなNSHTTPURLResponseプロパティにアクセスできます。
Alamofire.request(.GET, requestUrl, parameters:parameters, headers: headers).responseJSON {
response in
print(response.response?.allHeaderFields)
}
As Appleドキュメンテーションは言う:
サーバーの応答の一部として受信したすべてのHTTPヘッダーフィールドを含む辞書。この辞書を調べることで、クライアントはHTTPサーバーから返された「生の」ヘッダー情報を確認できます。
このディクショナリのキーは、サーバーから受信したヘッダーフィールド名です。一般的に使用されるHTTPヘッダーフィールドのリストについては、RFC 2616を参照してください。
たとえば、応答ヘッダーでコンテンツタイプを取得するには、その方法でアクセスできます。
if let contentType = response.response?.allHeaderFields["Content-Type"] as? String {
// use contentType here
}