我刚刚开始看一看马特的新阿拉莫菲尔·Swift 网络库,我不太确定如何将其用于自定义标题.

我试图将AFNetworking转换为Alamofire的代码如下:

let request = NSMutableURLRequest(URL: url)
request.setValue(authorizationToken, forHTTPHeaderField:"Authorization")

推荐答案

根据官方文件,不建议修改会话配置:

对于授权或内容类型标题,不建议这样做.

因此,URLRequestConvertible用于授权的一个示例是:

enum Router: URLRequestConvertible {
    static let baseUrlString = "some url string"

    case Get(query: String)

    var URLRequest: NSMutableURLRequest {
        let (path: String, parameters: [String: AnyObject]?) = {
            switch self {
            case .Get(let query):
                return ("/get", ["q": query])
            }
        }()

        let URL = NSURL(string: Router.baseUrlString)!
        let URLRequest = NSMutableURLRequest(URL: URL.URLByAppendingPathComponent(path))
        // set header fields
        URLRequest.setValue("a", forHTTPHeaderField: "Authorization")

        let encoding = Alamofire.ParameterEncoding.URL        
        return encoding.encode(URLRequest, parameters: parameters).0
    }
}

当你想提出请求时:

Manager.sharedInstance.request(Router.Get(query: "test"))

更多关于URLRequestConvertible的信息:https://github.com/Alamofire/Alamofire#urlrequestconvertible

老生常谈

从阿拉莫菲尔v1开始.0答案不再有效.在新版本中,应在NSURLSessionConfigurationHTTPAdditionalHeaders属性中添加其他标题

Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders = ["Authorization": authorizationToken]

更多信息请点击这里:https://github.com/Alamofire/Alamofire/issues/111

Swift相关问答推荐

变量捕获:变量在函数闭包中的行为

如何获取SCNCamera正在查看的网格点(SCNNode)的局部坐标和局部法线?

RxSwift .debounce,.throttle用于分页

为什么我不能在这个 Swift 间接枚举中返回 self ?

如何在应用程序区域永久更改 NSCursor?

为什么 Swift URL 的 init?(string: String,relativeTo: URL?) 仅添加协议?

SwiftUI路径平滑连接两条线

为什么我的Swift app不能用xcodebuild构建,但是用XCode可以构建?

如何将视图添加到多行文本视图的末尾?

是否可以使用 .task 修饰符更新基于两个值的视图

如何在 ZStack 中单独下移卡片?

SwiftUI:当先前的视图列表更改时,NavigationView 详细视图会弹出回栈

调用从 SwiftUI 视图传递到 PageViewController.Coordinator 的函数

判断 Swift 程序是否正在输出到终端

Swift - 如何更新多目录中的对象

Swift 2.0 方法不能标记为@objc,因为参数的类型不能在 Objective-C 中表示

Xcode 7.3 Swift 的语法高亮和代码完成问题

如何在 SwiftUI 中创建带有图像的按钮?

使用 Swift 以编程方式自定义 UITableViewCell

Facebook SDK 4.0 IOS Swift 以编程方式注销用户