尝试在使用Alamofire时设置URL和HTTP.body参数

时间:2015-03-21 18:20:04

标签: ios swift alamofire

我正在尝试在向REST API发布帖子时设置URL参数,并且出于某种原因,在发出请求时它们不会出现在URL上。

我已经看过其他问题,但是他们只设置了body参数,我需要在URL上提供应用程序密钥和会话ID

    // return URLRequestConvertible and NSData
    var urlParams:[String: String] = Dictionary()
    urlParams.updateValue(ACS_API_KEY, forKey: "key")
    urlParams.updateValue(SESSION_ID, forKey: "_session_id")

    // cannot figure out how to set params on URL
    return (Alamofire.ParameterEncoding.URL.encode(mutableURLRequest, parameters: urlParams).0, uploadData)

1 个答案:

答案 0 :(得分:1)

我最好的猜测是,您未在GET中使用HEADDELETEmutableURLRequest HTTP方法。如果是其他任何一个,那么Alamofire会自动将参数编码到请求的HTTP主体中。有关详细信息,请参阅encode案例下的URL方法。

作为一种变通方法,您可以将mutableURLRequest设置为GET,运行encode方法,然后将该网址应用于新请求。我意识到这是一个奇怪的解决方法,但它是必要的,因为您的使用案例不是ParameterEncoding枚举的常见用例。

希望这有助于解决问题。