如何在Alamofire中使用“PUT”http方法?

时间:2015-11-09 03:42:33

标签: alamofire

我们有一个接受URL的参数的rest API。此API使用“PUT”http方法。但是Alamofire不允许“PUT”在url中发送参数。

要使其工作,我必须编辑Alamofire代码。我必须添加.PUT作为一个额外的案例如下。

        func encodesParametersInURL(method: Method) -> Bool {
            switch self {
            case .URLEncodedInURL:
                return true
            default:
                break
            }

            switch method {
            case .GET, .PUT, .HEAD, .DELETE:
                return true
            default:
                return false
            }
        }

任何人都可以分享其他解决方案。

由于

2 个答案:

答案 0 :(得分:1)

这就是我们添加.URLEncodedInURL参数编码案例的原因。不要使用.URL编码,请切换到.URLEncodedInURL,这会将.PUT参数放入网址。

答案 1 :(得分:0)

从alamofire 4.0开始,您可以使用URLEncoding.queryString将.PUT参数放在URL中。

let urlRequest = try URLEncoding.queryString.encode(urlRequest, with: parameters)