我正在尝试通过RestKit在GET请求中发送一个点数组:
{
coordinates: [
[50,60],
[100,200],
[300,400]
]
}
代码:
[restkitManager getObjectsAtPath:path parameters:coordinates success:... failure:...]
当我检查服务器的日志时,我看到此请求已发送到服务器:
http://<...>?coordinates[][]=50&coordinates[][]=60&coordinates[][]=100...
哪个不正确,我在服务器上遇到了损坏的数组。括号[0] .. [1] ..:
之间必须存在数字http://<...>?coordinates[0][0]=50&coordinates[0][1]=60&coordinates[1][0]=100...
这是一个错误吗?如果是这样,有没有解决方法?我已经在考虑创建一个以数字作为键的字典。
SO,我的解决方案
我将根NSArray转换为NSDictionary,数字作为键。现在我可以通过使用RestKit的GET请求发送它。
答案 0 :(得分:2)
我猜你真正想要的是POST到服务器。使用GET会将参数编码为URL作为查询参数。从技术上讲,你可以用GET发送身体数据,但它没有用得多。
确保服务器期望的是:
如果您确实想使用GET和查询参数,最好的选择是将数组内容转换为服务器期望的任何字符串格式,并将其作为coordinates
键的值提供在字典中。 / p>