2017-06-23 12 views
0

Alamofire URLEncodingに問題があります。特に、パラメータの配列を解析するために[]セパレータを使用するパラメータの配列については問題があります。AlamofireのカスタムURLエンコード

このケースでは、どのようにして独自のURLエンコードを記述できますか?

答えて

1

これを試してみてくださいについてを取得します。使用方法

struct CustomGetEncoding: ParameterEncoding { 
     func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { 
      var request = try URLEncoding().encode(urlRequest, with: parameters) 
      request.url = URL(string: request.url!.absoluteString.replacingOccurrences(of: "%5B%5D=", with: "=")) 
      return request 
     } 
    } 

Alamofire.request("url", method: .get, parameters: ["foo": ["bar1", "bar2"]], encoding: CustomGetEncoding()).validate().responseJSON { (response) in 

     } 
0

この文字列の拡張機能を使用してください

public extension String { 
    public func URLEncode() -> String { 
     return self.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)! 
     } 
    }