Alamofire请求的多种编码类型

Ant*_*Dev 9 alamofire

我需要POST使用带有JSON对象的HTTP Body发出请求,但我还需要在同一请求中使用url查询参数.

POST: http://www.example.com/api/create?param1=value&param2=value
HTTP Body: { foo : [ bar, foo], bar: foo}
Run Code Online (Sandbox Code Playgroud)

这是否受到Alamofire的支持?我该怎么做呢?

cno*_*oon 7

这绝对是一个有效的用例.尝试将访问令牌作为查询参数附加到POST请求时,我遇到了类似的问题.这是一个功能,应该使目前的事情更容易,类似于你的方法.

func multiEncodedURLRequest(
    method: Alamofire.Method,
    URLString: URLStringConvertible,
    URLParameters: [String: AnyObject],
    bodyParameters: [String: AnyObject]) -> NSURLRequest
{
    let tempURLRequest = NSURLRequest(URL: NSURL(string: URLString.URLString)!)
    let URLRequest = ParameterEncoding.URL.encode(tempURLRequest, parameters: URLParameters)
    let bodyRequest = ParameterEncoding.JSON.encode(tempURLRequest, parameters: bodyParameters)

    let compositeRequest = URLRequest.0.mutableCopy() as NSMutableURLRequest
    compositeRequest.HTTPMethod = method.rawValue
    compositeRequest.HTTPBody = bodyRequest.0.HTTPBody

    return compositeRequest
}
Run Code Online (Sandbox Code Playgroud)

有了这个说,你能确保在Github上提出一个功能请求问题吗?这当然是我们需要弄清楚如何在Alamofire中变得更容易,因为它是如此常见的用例.如果您能够对您的用例进行非常好的描述,那么我相信它会受到关注.我一定会帮助按下来获得支持.