美文网首页
使用openAPI生成swift代码遇到的坑(ErrorResp

使用openAPI生成swift代码遇到的坑(ErrorResp

作者: 树羽咕 | 来源:发表于2020-11-30 10:41 被阅读0次

    因为客户的要求,项目中使用了OpenAPI来生成swift代码
    刚用的时候还不太会,给header加token还写在内部的addHeader方法里,后来才知道在OpenAPIClientAPI类里有一个叫customHeaders的静态变量,直接赋值就好

    除了这个问题还遇到了错误解析的问题
    想了各种办法,只要走了error回调,里面的errorCode 和data我都取不出来,控制台里可以打印出来。客户又不让修改生成出来的文件。

    最后注意到返回的Error的类型是这样定义的

    public enum ErrorResponse : Error {
        case error(Int, Data?, Error)
    }
    

    查了一下枚举里带括号的用法,这个用法叫做关联值(Associated Value)

    用这种方法就可以取出其中的关联值啦

    switch error {
        case .error(let errCode, let errData, let err):
            //xxxxx
    }
    

    还有一种用法效果也一样

    if case let ErrorResponse.error(errCode, errData, err) = error {
        //xxxxx
    }
    

    相关文章

      网友评论

          本文标题:使用openAPI生成swift代码遇到的坑(ErrorResp

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