QT和JIRA Rest API:/ rest / api / 2 / issue / createmeta意外返回韩语中的issuetype名称

问题描述 投票:0回答:1

这是一个奇怪的,我被卡住了。

我正在使用C ++和Qt框架编写一个应用程序,该框架通过其余API插入到jira中。我只是编写了第一部分,它使用/ rest / api / 2 / issue / createmeta获取项目和issuetypes的数据。我正在针对云托管的JIRA软件实例测试我的代码。

但是,对于我的代码,我从JSON中的/ rest / api / 2 / issue / createmeta返回的响应具有韩语的issuetype名称和描述。我的实例是为英语设置的。邮件和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;

我很难过,感激不尽。 :)

c++ qt http-headers jira jira-rest-api
1个回答
0
投票

我找到了一个解决方法,但我不确定这是“最正确”的做法。

我在“Other Header Stuff”部分的代码中添加了以下行:

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

这似乎告诉JIRA我想用英语回复,我得到了正确的JSON。但是我仍然不确定为什么我的JIRA默认语言设置为英语会以另一种语言发送回复。奇怪的。

© www.soinside.com 2019 - 2024. All rights reserved.