SL100_FactoryTestTool/FactoryTestTool/SourceCode/Network/httpClient.cpp

39 lines
1.2 KiB
C++

// httpClient.cpp
#include <QDebug>
#include "httpClient.h"
HttpClient::HttpClient(QObject* parent)
: QObject(parent),
networkManager(new QNetworkAccessManager(this))
{
connect(networkManager, &QNetworkAccessManager::finished, this, &HttpClient::onNetworkReplyFinished);
}
void HttpClient::sendPostRequest(const QNetworkRequest& request, const QByteArray& jsonData)
{
qDebug() << "jsonData" << jsonData.data();
networkManager->post(request, jsonData);
}
void HttpClient::sendGetRequest(const QNetworkRequest& request)
{
networkManager->get(request);
}
void HttpClient::onNetworkReplyFinished(QNetworkReply* reply)
{
if (reply->error() == QNetworkReply::NoError) {
QByteArray responseData = reply->readAll();
QJsonDocument jsonResponse = QJsonDocument::fromJson(responseData);
QJsonObject jsonObject = jsonResponse.object();
qDebug() << "jsonObject: " << jsonObject;
emit requestFinished(jsonObject);
}
else {
qDebug() << "reply->error(): " << reply->error();
qDebug() << "errorString: " << reply->errorString();
emit requestError(reply->errorString());
}
reply->deleteLater();
}