如何在qt中将int的QList发布到我的web服务?
我有一个如何在qt中将int的QList发布到我的web服务?,qt,qml,qnetworkaccessmanager,qurl,Qt,Qml,Qnetworkaccessmanager,Qurl,我有一个QList的int,我想通过post请求将它发送到web服务 QList<int> list; QUrlQuery query ; QNetworkReply* reply= postRequest(query,"www.myapi.com/api/Book/SaveDigits");//a method that will send POST request connect(reply,SIGNAL(finished()),this,SLOT(getListFinished
QList
的int
,我想通过post请求将它发送到web服务
QList<int> list;
QUrlQuery query ;
QNetworkReply* reply= postRequest(query,"www.myapi.com/api/Book/SaveDigits");//a method that will send POST request
connect(reply,SIGNAL(finished()),this,SLOT(getListFinished()));
我将aps.net webapi2用于我的Web服务
[HttpPost]
public async Task<IHttpActionResult> SaveDigits(UserInfo userInfo)
{
}
[HttpPost]
公共异步任务SaveDigits(UserInfo UserInfo)
{
}
上面的代码将post数据作为“UserInfo”类使用,但当我想保存列表时,它不起作用
[HttpPost]
public async Task<IHttpActionResult> SaveDigits(List<int> list)
{
}
[HttpPost]
公共异步任务保存位(列表)
{
}
但是如何发送
QList
?您可以使用同一个键多次调用addQueryItem()
,这些值不会相互覆盖
假设您希望将密钥称为“数字”,您可以使用如下内容:
for(int value : list) {
query.addQueryItem("digit", QString::number(value));
}
在服务器端,大多数web服务框架都足够智能,可以将具有多个值的键转换为数组或列表。您可以使用同一个键多次调用
addQueryItem()
,这些值不会相互覆盖
假设您希望将密钥称为“数字”,您可以使用如下内容:
for(int value : list) {
query.addQueryItem("digit", QString::number(value));
}
在服务器端,大多数web服务框架都足够智能,可以将具有多个值的密钥转换为数组或列表。
QList list
??不应该是QList
@MohammadKanan是的。我有一个编辑问题postRequest是什么
我的问题是如何将整数列表添加到qurlquery?post请求是一种将发布数据的方法。因为您只想发布整数,请直接使用QNetworkReply*QNetworkAccessManager::post(const-QNetworkRequest&request,const-QByteArray&data)
。我E管理器->发布(url、数据)。将QList转换为QByteArray,或者从一开始就使用QByteArray而不是QList。QList
??不应该是QList
@MohammadKanan是的。我有一个编辑问题postRequest是什么
我的问题是如何将整数列表添加到qurlquery?post请求是一种将发布数据的方法。因为您只想发布整数,请直接使用QNetworkReply*QNetworkAccessManager::post(const-QNetworkRequest&request,const-QByteArray&data)
。我E管理器->发布(url、数据)。将您的QList转换为QByteArray或从一开始就使用QByteArray而不是QList。它不起作用。我将asp.net webapi2用于我的WebService.Ok。现在它起作用了。我已将action方法的参数更改为Class now它起作用了它不起作用了。我将asp.net webapi2用于我的WebService.Ok。现在它起作用了。我已将action方法的参数更改为Class now它起作用了作品