Alamofireが内部でそれをどのように処理するかです:
open func request(
_ urlString: URLStringConvertible,
method: HTTPMethod = .get,
parameters: Parameters? = nil,
encoding: ParameterEncoding = URLEncoding.default,
headers: [String: String]? = nil)
-> DataRequest
{
let urlRequest = URLRequest(urlString: urlString, method: method, headers: headers)
do {
let encodedURLRequest = try encoding.encode(urlRequest, with: parameters)
return request(resource: encodedURLRequest)
} catch {
let request = self.request(resource: urlRequest)
request.delegate.error = error
return request
}
}
基本的には、パラメータなしでリクエストを使用しています。自分の実装(またはHow to migrate Alamofire router class to Swift 3?のOP)でどれくらいまで使用できるかはわかりません。 これができない場合は、Alamofireに問題を提出することをお勧めします。新しいParameterEncoding
は、文字通り2日古い(PR 1465)、まだ4.0.0ベータサイクルにあります。 いずれの場合でも、URLEncoding.encode()
を使用すると、ご自分のURLRequest
を設定すると失敗することはほとんどありません。リクエストにURLが指定されていない場合だけです。
編集:ここでは、4.0.0がリリースされ、問題は修正されました。 (PR 1505)。 URLRequestConvertible
に変更が加えられましたが、すべて移行ガイドとREADMEにあります。