Swift3 如何在Alamofire中为GET方法发送自定义参数?
我有这个Swift3 如何在Alamofire中为GET方法发送自定义参数?,swift3,alamofire,Swift3,Alamofire,我有这个array=[1,2,3]我想这样发送它: http://somedomain.com/today?intersets=1,2,3 我试着这样发送: let-params:Parameters=[“interstats”:数组] Alamofire.request(url,方法:.get,参数:params,headers:header) 但是在打印了response.request之后,我得到了以下信息: http://somedomain.com/today?intersets%5B
array=[1,2,3]
我想这样发送它:
http://somedomain.com/today?intersets=1,2,3
我试着这样发送:
let-params:Parameters=[“interstats”:数组]
Alamofire.request(url,方法:.get,参数:params,headers:header)
但是在打印了response.request
之后,我得到了以下信息:
http://somedomain.com/today?intersets%5B%5D=1&intersets%5B%5D=2intersets%5B%5D=3
关于如何修复此请求,您有什么想法吗?您应该将数组加入到
字符串中,并将其作为参数发送
let string = array.joined(separator: ",")
let params: Parameters = [ "intersets": string]
请注意,如果您的服务器实际需要一个数组并再次解析逗号,那么使用您当前的方法实际上更正确,因为这就是通过GET传输数组的方式。@luk2302谢谢,毫无疑问,您在GET中提到过这是一种方式,那么它在POST中会改变吗?在POST正文中,您主要发送json,它具有对数组的本机支持,因此不需要任何字符串操作。我之前想说的是“在URL参数中”,这是在GET中放置参数的唯一位置。我今天得到了这个blahblahblah/interists=1%2C2%2C3
,如何从中删除%2C并将其替换为,
您不能将,
直接作为参数发送,就像在URL中一样,您应该编码特殊字符%2C
是,
的编码形式。