qt restapi post 无响应

qt restapi post no response

我在 nestJs 服务上通过 rest api 使用“qt”传输数据。 nestJs 服务工作正常,但我在“qt”中没有收到任何响应。

这里是 qt 的片段:

QNetworkRequest request;
request.setUrl(myUrl);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");

QNetworkAccessManager *restClient;
restClient = new QNetworkAccessManager();
QNetworkReply *replay = restClient->post(request, *payload);
QByteArray result = replay->readAll();
qDebug() << result;

控制台打印总是:

""

我的 nestJs 服务的正确响应是(使用 insomnia rest 客户端工具收到):

{
  "Generated": {},
  "ErrorCode": 200,
  "ErrorText": "OK"
}

感谢您的帮助。

请求是异步的,因此您必须使用完成信号:

QNetworkReply *replay = restClient->post(request, *payload);
QObject::connect(replay, &QNetworkReply::finished, [replay](){
    QByteArray result = replay->readAll();
    qDebug() << result;
    replay->deleteLater();
});