我的同事后端程序员说,他已经配置了一个API,希望从我的移动应用程序接收到类似这样的内容:
[{"id":50},{"id":60}]
我正在使用Alamoire,它接收要发送的参数字典。但我相信这也是使用nsurlsession或任何其他第三方插件的相同机制。
问题是:我应该如何构造字典来发送一个ID数组,比如一个HTTP表单如何拥有多个具有相同ID的文本字段,然后它将作为一个ID数组被接收到服务器端?到目前为止我所做的尝试都失败了:
param.setValue(50, forKey:"id");
param.setValue(60, forKey:"id");
// this only send the last single value
param.setValue([50, 60], forKey:"id");
// this results in error (415 unsupported media type)
param.setValue(50, forKey:"id[0]");
param.setValue(60, forKey:"id[1]");
// this also results in error (415 unsupported media type)
我怎样才能像发送Web表单一样正确地发送它?谢谢。
最佳答案
第一个方法的问题是您覆盖了键的值,这就是为什么它只发送最后一个值的原因。尝试将参数作为数组发送。
let dict = NSMutableArray()
param.setValue(50, forKey:"id")
dict.addObject(param)
param.setValue(60, forKey:"id")
dict.addObject(param)
将
id
作为请求方法的参数传递。