Я работаю со следующей документацией для реализации поиска на основе REST с использованием Confluence CQL: https://developer.atlassian.com/confdev/confluence-rest-api/advanced-searching-using-cql и https://docs.atlassian.com/atlassian-confluence/REST/latest/#d3e648
Я могу выполнять запросы GET с использованием идентификатора пользователя и пароля для других конечных точек в моей учетной записи Confluence Cloud. Однако когда я пытаюсь передать CQL-запрос конечной точке поиска, как показано ниже:
text ~ Tomcat
Я получаю следующую ошибку:
{
"statusCode":400,
"data":
{"authorized":false,"valid":true,"errors":[]},
"message":"Could not parse cql : text %7E Tomcat"
}
Может ли кто-нибудь сказать мне, что может быть причиной этого? Похоже, что кодировка CQL для передачи в HTTP GET каким-то образом вызывает ошибку в серверной части. Я использую Java для кодирования моих параметров GET с помощью UTF-8. Этот точный подход работает только с облачным поиском JIRA с использованием языка запросов JIRA (JQL), поэтому я не понимаю, что здесь происходит.
Я использую конечную точку: https://mycompany.atlassian.net/confluence/rest/api/content/search?
Я пробовал использовать HTTPS и HTTP. Я понимаю, что для конечной точки поиска ответ 400 означает «Возвращено, если CQL недействителен или отсутствует» - есть идеи, что мне здесь не хватает или что может быть не так с моим CQL?