Я пытаюсь сделать запрос к упругому поиску, используя alamofire и swift 4. Я пробовал все типы кодирования для параметров json, и запросы все еще истекают.Если я поставлю nil paramters, ответ получится хорошо, но я хочу построить некоторые параметры запроса.
Я попытался создать свои параметры следующим образом:
let jsonString = "{ \"query\": { \"multi_match\": { \"query\": \"param1 param2 alabala etc\", \"fields\": [\"title\", \"description\", \"category\"], \"fuzziness\": 5 } } }"
let data = jsonString.data(using: .utf8)
do {
let params = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String: Any]
print("ParamsJSON: \(params)")
} catch {
print(error)
}
И также так:
let params1 = [
"query": [
"multiMatch": [
"query" : "param1 param2 alabala etc",
"fields" : ["title*2, description*1.5"],
"fuzziness" : 5
]
]
]
Также мой запрос alamofire находится здесь:
let headers = [
"Content-Type": "application/json"
]
let url = "someurl"
let request = Alamofire.request(url, method: .get, parameters: params1, encoding: JSONEncoding.default, headers: headers)
.authenticate(user: "user", password: "pass")
.responseJSON { response in
if let data = response.data{
do{
let json = try JSON(data: data)
completion(json)
} catch {
}
}
}
debugPrint(request)
URL и аутентификация работают, потому что запрос работает без отправки ему параметров.Только когда я отправляю параметры, alamofire возвращает ошибку истечения времени ожидания запроса.
Кто-нибудь может мне помочь с этим?