【发布时间】:2023-04-05 10:34:01
【问题描述】:
我正在为 Alamofire 使用 URLRequestConvertible。
我有一个 GET 请求,我的 url 有一个需要转义的“/”。
请参见下面的示例,其中“NameToPass/23”现在有一个“/”。
当我使用 URLEncoding.default 时,“/”未编码,但服务器希望它使用 %2F
进行编码但是假设我在制作相对路径时对其进行编码
"NameToPass/23".addingPercentEncoding(withAllowedCharacters: CharacterSet.alphanumerics)
Alamofire 对其进行两次编码并使其成为“NameToPass%252F23”
下面是相同的示例代码。
let encoding: ParameterEncoding = {
switch self {
case . getItemDetails:
return URLEncoding.default
}
}()
let url: URL = {
let relativePath: String?
switch self {
case .getItemDetails(let listName):
relativePath = "/mainAction/" + "NameToPass/23"
var url = URL(string: BaseURL)!
if let relativePath = relativePath { url = url.appendingPathComponent(relativePath) }
return url
}()
任何正确方向的提示都将受到高度赞赏。
谢谢
【问题讨论】:
标签: ios swift alamofire nsurlsession url-encoding