url Swift Odata的编码问题



Our OData service

{{url}}/odata/GroupMembers?$filter=GroupName eq 'PDL-**-Users-Test'

在 Swift 中的 urlencoding 中,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中进行编码。

最新更新