У меня проблема с отправкой POST-запроса с Alamofire.Мне нужно отправить поля usser и password как application / x-www-form-urlencode, а также некоторые данные запроса в URL.
Я создаю URLRequest для обработки процесса, но получаю всегдаответ от сервера 400, так что, я думаю, проблема в том, как я создаю запрос.
Это пример в Postman: мне нужно отправить параметр в URL и еще два в качестве приложения./ x-www-form-urlencode
Почтальон 1 - Параметры Почтальон 2 - ContentType
Мне нужно сделать это (что у меня есть вAndroid)
@FormUrlEncoded
@POST(Constants.AUTH_LDAP)
Call<ResponseBody> authLdap(
@Query(value = Constants.PARAM_REQ, encoded = true) String req,
@Field(Constants.PARAM_LOGIN) String login,
@Field(Constants.PARAM_PASSWORD) String password
);
И вот что у меня есть в swift
let queryParamters = [Constants.Params.PARAM_REQ:req]
let headers = ["Content-Type": "application/x-www-form-urlencoded"]
let fieldParameters = [
Constants.Params.PARAM_LOGIN : user,
Constants.Params.PARAM_PASSWORD : pass]
let url = URL(string: Constants.EndPoints.AUTH_LDAP)
let request = URLRequest(url: url!)
let encoding = try URLEncoding.default.encode(request, with: queryParamters as Parameters)
let encodingpa = try URLEncoding.httpBody.encode(request, with: fieldParameters as Parameters)
var urlRequest = encodingpa
urlRequest.url = encoding.url
urlRequest.allHTTPHeaderFields = headers
Alamofire.request(urlRequest).responseData(completionHandler: { response in
switch response.result {
case .success:
print("sucess")
print(response.response)
case .failure(let error):
print(error)
}
})
Спасибо за вашу помощь.