美文网首页
使用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