在 Swift 中使用 Alamofire 网络进行解析时,如何在请求中发送内容类型?

Posted

技术标签:

【中文标题】在 Swift 中使用 Alamofire 网络进行解析时,如何在请求中发送内容类型?【英文标题】:How to send content type in a request while doing parsing using Alamofire networking in Swift? 【发布时间】:2015-12-07 01:34:11 【问题描述】:

我是 Swift 的新手。我想解析一个graphql webservice,我需要将内容类型作为“application/graphql”发送到标题。一般来说,在 Objective-C 中,如果我们使用 AFNetworking,我们可以如下设置内容类型。

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];

在 Swift 中,我使用的是 Alamofire,我对此一无所知,即如何设置内容类型。作为 Swift 的新人,请毫不犹豫地告诉我。

还有一点是graphql服务不接受正确的JSON,请参考here

请建议我如何将值发布到服务器?通过准备一个字符串只是一个答案? (对不起,如果我误解了graphql)。但请不要犹豫。提出宝贵的建议。谢谢。

【问题讨论】:

【参考方案1】:

要使用 Alamofire 在标头中传递内容类型,您可以尝试以下代码。

// Step : 1  
    var manager = Manager.sharedInstance

    // Specifying the Headers we need
    manager.session.configuration.HTTPAdditionalHeaders = [
        "Content-Type": "application/graphql",
        "Accept": "application/json" //Optional
        ]

   // Step : 3 then call the Alamofire request method.

 Alamofire.request(.GET, url2).responseJSON  request, response,  result in
     print(result.value)
  

【讨论】:

以上是关于在 Swift 中使用 Alamofire 网络进行解析时,如何在请求中发送内容类型?的主要内容,如果未能解决你的问题,请参考以下文章

Swift:链接多个网络请求,Alamofire

Alamofire超时无法在Swift 3中运行

带有 XML 响应和正文的 SOAP 请求 swift 3,Alamofire

Swift UI 和 Alamofire 图片上传

Swift 3 使用 Alamofire 将数据上传到服务器

Swift Alamofire JSON 解析