我目前在 Qt6 中发布到 ReST 服务器,如下所示:
QNetworkRequest request;
request.setUrl(QUrl("someurl"));
QUrlQuery postData;
postData.addQueryItem("somekey","somevalue");
nm = new QNetworkAccessManager
reply = nm->post(request,postData.toString(QUrl::FullyEncoded).toUtf8());
但是,我被告知我需要在请求正文中发送一些 JSON。 我在哪里设置帖子正文? ->post方法的第二个参数是查询参数。
我猜我需要将正文(json 文档)与 postData 结合起来,但我不确定如何组合。
这是不正确的:->post方法的第二个参数是查询参数。
使用此变体的第二个参数是发送正文,您必须将 QUrlQuery 放在 QUrl 中。
QUrl url("someurl");
QUrlQuery query;
query.addQueryItem("somekey","somevalue")
url.setQuery(query);
QNetworkRequest request;
request.setUrl(QUrl);
QJsonObject obj;
obj["key1"] = "value1";
obj["key2"] = "value2";
QJsonDocument doc(obj);
QByteArray data = doc.toJson();
nm = new QNetworkAccessManager();
reply = nm->post(request, data);