0

我有一个QListint我想通过发布请求将其发送到网络服务

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()));

但我不知道如何将此整数列表添加到QUrlQuery

我之前发布过如下的类数据?

QUrlQuery postData;
postData.addQueryItem("UserName",userName());
postData.addQueryItem("Password",password());

我将 aps.net webapi2 用于我的网络服务

 [HttpPost]
 public async Task<IHttpActionResult> SaveDigits(UserInfo userInfo)
 {
 }

上面的代码适用于将数据作为“UserInfo”类发布,但是当我想保存列表时它不起作用

 [HttpPost]
 public async Task<IHttpActionResult> SaveDigits(List<int> list)
 {
 }

但是我该如何发送QList<int>

4

1 回答 1

2

您可以addQueryItem()多次使用相同的键调用,值不会相互覆盖。

假设您希望将密钥称为“数字”,您可以使用以下内容:

for(int value : list) {
    query.addQueryItem("digit", QString::number(value));
}

在服务器端,大多数 Web 服务框架都足够智能,可以将具有多个值的键转换为数组或列表。

于 2018-03-26T21:04:51.537 回答