Swift Odata 的 urlEncoding 问题
urlEncoding issue with Swift Odata
我们的 OData 服务
{{url}}/odata/GroupMembers?$filter=GroupName eq 'PDL-**-Users-Test'
eq 前后的空格在 Swift 中进行 urlencoding 后变为 %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 中进行编码。
我们的 OData 服务
{{url}}/odata/GroupMembers?$filter=GroupName eq 'PDL-**-Users-Test'
eq 前后的空格在 Swift 中进行 urlencoding 后变为 %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 中进行编码。