问题描述
我通过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服务的正确响应是(通过失眠的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();
});