QNetworkAccessManager PUT method delete data over server
Hi,
I'm trying to update JSON data over a server but it is not updating, its deleting everything even if I send blank data.
Find the implementation below,
Code:
QNetworkAccessManager m_mgr;
QNetworkRequest m_request;
QNetworkReply *m_reply;
QUrl url
("https://api.predic8.de/shop/products/10");
m_request.setUrl(url);
QVariantMap data;
data.insert("name", "Oranges");
QJsonDocument jsonData = QJsonDocument::fromVariant(data);
m_reply = m_mgr.put(m_request, jsonData.toJson(QJsonDocument::Indented));
connect(m_reply, &QNetworkReply::finished, m_reply, &QNetworkReply::deleteLater);
Please help me why it delete the data instead of an update?
Re: QNetworkAccessManager PUT method delete data over server
I found the solution,
Setting header solved my issue,
Code:
m_request.setHeader( QNetworkRequest::ContentTypeHeader, "application/json" );
Technically I don't understand why its deleting data if I didn't set header.
Can someone explain to me this or does it mandatory to use header?
Thanks
Re: QNetworkAccessManager PUT method delete data over server
Quote:
Originally Posted by
npatil15
Can someone explain to me this or does it mandatory to use header?
How should we know what your 'server' does at all?
Re: QNetworkAccessManager PUT method delete data over server
Hi ChristianEhrlicher,
I'm using a local server, and follow this below tutorial for creating this local server,
https://medium.com/codingthesmartway...r-36da8680136d
Re: QNetworkAccessManager PUT method delete data over server
Since this is not C++/Qt I can't help debugging the server.