需要的QNetworkAccessManager PUT请求示例



我一直在使用QNetworkAccessManager成功获取和发布请求。

但是我需要使用PUT请求来更新和外部API。这个PUT请求需要一个json字符串作为其主体的一部分,以发送更新记录。

我找不到使用QNetworkAccessManager的PUT请求的任何工作示例。

请帮忙分享一个示例代码。

最后我找到了一种在QNetworkAccessManager PUT请求中发送Json数据的方法。

我形成了所需的json数据并将其存储在QJsonDocument变量中。并在put请求中传递该变量(在使用toJson()转换为utf-8编码的json文档之后)。

这是我使用的工作测试代码,我相信它会对尝试这个的人有帮助。

QVariantMap testMapData["age"] = 35;
QJsonDocument testJsonData = QJsonDocument::fromVariant(testMapData);
QNetworkAccessManager manager;
QNetworkRequest request(QUrl("http://example/member/14"));
request.setHeader(QNetworkRequest::ContentTypeHeader, QString("application/json"));
QNetworkReply* reply = manager.put(request, testJsonData.toJson());

http://doc.qt.io/qt-5/qnetworkaccessmanager.html#put-3

您可以使用QNetworkAccessManager::put(const QNetworkRequest & request, const QByteArray & data)方法。

QNetworkAccessManager manager;
QByteArray someData = "data";
QNetworkRequest request(QUrl("http://example.com"));
QNetworkReply* reply = manager.put(request, someData);

相关内容

  • 没有找到相关文章

最新更新