API QT и JIRA Rest: / rest / api / 2 / issue / createmeta неожиданно возвращает имена типов типов на корейском языке - PullRequest
0 голосов
/ 03 сентября 2018

Это странно, и я застрял.

Я пишу приложение с использованием C ++ и инфраструктуры Qt, которая подключается к jira через API остальных. Я просто пишу первую часть, которая получает данные о проектах и ​​типах выпуска, используя / rest / api / 2 / issue / createmeta. Я тестирую свой код на экземпляре JIRA Software в облачном хранилище.

Однако, с моим кодом, ответ, который я получаю от / rest / api / 2 / issue / createmeta в JSON, имеет имена и описания issetype на корейском языке. Мой экземпляр настроен на английский. Также та же транзакция в Postman и в Chrome корректно возвращается на английском языке.

Я предполагаю, что мои HTTP-заголовки ошибочны, но я не вижу, что я делаю неправильно. Вот фрагмент кода, который запускает транзакцию:

QNetworkRequest request;

m_restURL.clear();     // This is a QUrl used to hold the URL
m_restURL.setUrl(mp_jiraInstanceUrl + QString("/rest/api/2/issue/createmeta"));

request.setUrl(m_restURL);

// HTTP Basic authentication header value: base64(username:password)
QString concatenated = *mp_accountName + ":" + mp_password;
QByteArray data = concatenated.toLocal8Bit().toBase64();
QString headerData = "Basic " + data;
request.setRawHeader("Authorization", headerData.toLocal8Bit());

// Other header stuff
request.setRawHeader("X-Atlassian-Token", "nocheck");
request.setRawHeader("Content-Type", "application/json");

mp_reply = qnam.get(request);  // where qnam is previously setup as QNetworkAccessManager qnam;

Любая помощь с благодарностью получена, так как я в тупике. :)

1 Ответ

0 голосов
/ 03 сентября 2018

Я нашел обходной путь, но я не уверен, что это «самый правильный» способ сделать это.

Я добавил следующую строку в код в разделе «Другие материалы заголовка»:

request.setRawHeader("accept-language", "en-GB,en-US;q=0.9,en;q=0.8,ko;q=0.7");

Похоже, это говорит JIRA, что я хочу получить ответы на английском языке, и я получаю правильный JSON. Однако я все еще не уверен, почему мой JIRA с установленным по умолчанию английским языком будет отправлять ответы на другом языке. Weird.

...