Как POST QList int к моему веб-сервису в qt?

У меня есть QList из int и я хочу с почтовым запросом отправить его на веб-сервис

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> ?

1 ответ

Решение

Ты можешь позвонить addQueryItem() с одним и тем же ключом несколько раз, значения не будут перезаписывать друг друга.

Предполагая, что вы хотите, чтобы ключ назывался "цифрой", вы можете использовать что-то вроде этого:

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

На стороне сервера большинство каркасов веб-сервисов достаточно умны, чтобы превратить ключ с несколькими значениями в массив или список.

Другие вопросы по тегам