Как добавить параметр urlencoded в httpBody в urlRequest - PullRequest
0 голосов
/ 27 июня 2019

Я создал один общий класс для запроса alamofire. Я хочу отправить параметры как aplication/x-www-form-urlencoded как добавить параметры в мой urlRequest

Мне удалось добавить параметры как application/json в urlRequest, используяниже код

    do {
            urlRequest.httpBody = try JSONSerialization.data(withJSONObject: parameters, options: [])
        } catch {
            throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: error))
        }

мне нужно что-то подобное для aplication/x-www-form-urlencoded

вот мои параметры

case .ewalletData :
        return [K.APIParameterKey.token :"OP8JHOEOZ5KJW1X",K.APIParameterKey.fromMobile:"true",K.APIParameterKey.adminName:"binaryecom",K.APIParameterKey.limit:"100",K.APIParameterKey.offset:"0",K.APIParameterKey.userName:"OC6DGH"]

Ответы [ 2 ]

1 голос
/ 27 июня 2019

вот код, который у меня работает в swift 4: let postString = "your parameter="+value+"&your parameter="+value request.httpBody = postString.data(using: .utf8) let task = URLSession.shared.dataTask(with: request, completionHandler: completionHandle) task.resume()

0 голосов
/ 27 июня 2019

попробуйте это:

        guard let request_url = URL(string: Url) else { return }
        let parameterDictionary = ["your parameter" : value]
        var request = URLRequest(url: request_url)
        request.httpMethod = "POST"

request.setValue("Application/json", forHTTPHeaderField: "Content-Type")
request.setValue("aplication/x-www-form-urlencoded", forHTTPHeaderField: "String")
        guard let httpBody = try? JSONSerialization.data(withJSONObject: parameterDictionary, options: []) else {
            return
        }
        request.httpBody = httpBody
...