美文网首页
Moya 使用记录

Moya 使用记录

作者: _风雨 | 来源:发表于2021-09-08 16:53 被阅读0次

    今天在使用Moya时,path中含有 ? 经过编码会被转义为 %3F ,导致404请求失败,谷歌半天,找到解决办法之一是将含有 ? 的 path 放入 baseUrl中,这样就不会被转义了

    下面是伪代码

    var baseURL: URL {
        switch self {
        case .login(token:  _, accessToken:  _):
            return URL(string: apiHost + "/api/token?")!
        }
    }
    
    var path: String {
        switch self {
        case .login:
            return ""
        }
    }
    

    一次使用requestParameters 传参时,因为parameters中有一个参数是数组,URLEncoding.default 内部自动 判断了数组,并且在 key后面加了 [], 如下图


    image.png

    所以设置encoding的时候需要设置为noBrackets

    .requestParameters(parameters: ["hxIds": hxIds].merged(with: publicParams()), encoding: URLEncoding(arrayEncoding: .noBrackets))
    

    相关文章

      网友评论

          本文标题:Moya 使用记录

          本文链接:https://www.haomeiwen.com/subject/okivwltx.html