Swift Odata的URL编码问题
我们的OData服务Swift Odata的URL编码问题,odata,swift4,swift5,Odata,Swift4,Swift5,我们的OData服务 {{url}}/odata/GroupMembers?$filter=GroupName eq 'PDL-**-Users-Test' 使用Swift进行URL编码后,eq前后的空格变为%2520,导致错误代码400 odata/GroupMembers?$filter=GroupName%2520eq%2520'PDL-**-Users-Test' 我之前的代码是 urlComponents.queryItems = [URLQueryItem]() for (k
{{url}}/odata/GroupMembers?$filter=GroupName eq 'PDL-**-Users-Test'
使用Swift进行URL编码后,eq前后的空格变为%2520,导致错误代码400
odata/GroupMembers?$filter=GroupName%2520eq%2520'PDL-**-Users-Test'
我之前的代码是
urlComponents.queryItems = [URLQueryItem]()
for (key,value) in parameters {
let queryItem = URLQueryItem(name: key,
value: "\(value)".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed))
}
urlRequest.url = urlComponents.url
通过删除以下代码,它成功了
.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
原因是Apple的URLComponents和URLQueryItem以Swift进行编码。您似乎对字符串进行了两次urlencode:
%20
是否进行urlencoded%2520
您可以共享相关代码吗?