我正在尝试在向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)
答案 0 :(得分:1)
我最好的猜测是,您未在GET
中使用HEAD
,DELETE
或mutableURLRequest
HTTP方法。如果是其他任何一个,那么Alamofire会自动将参数编码到请求的HTTP主体中。有关详细信息,请参阅encode
案例下的URL
方法。
作为一种变通方法,您可以将mutableURLRequest
设置为GET
,运行encode
方法,然后将该网址应用于新请求。我意识到这是一个奇怪的解决方法,但它是必要的,因为您的使用案例不是ParameterEncoding
枚举的常见用例。
希望这有助于解决问题。