Back to Moya

迁移向导

docs_CN/MigrationGuides/migration_8_to_9.md

15.0.31.7 KB
Original Source

迁移向导

此项目遵循Semantic Versioning.

更新到Moya的一个新的主版本时请遵循下面的适当引导 (例如. 8.0 -> 9.0).

从 8.x 到 9.x的更新

TargetType 迁移

  • 移动 parametersparameterEncodingtask 计算属性的 case .requestParameters(parameters:encoding:)
  • 替换 task 类型的值 .request.requestPlain (如果没有参数) 或者 .requestParameters(parameters:encoding:)
  • Endpoints不再有 parametersparameterEncoding (比如. addingParameters()), 现在使用新的 task 属性来替代
  • 发送URL编码参数和body参数, 您现在可以使用task 类型 .requestCompositeParameters(bodyParameters:bodyEncoding:urlParameters:)
  • 简化任务类型 .download(.request(destination)).downloadDestination(destination)
  • 简化任务类型 .upload(.file(url)).uploadFile(url)
  • 简化任务类型 .upload(.multipart(data)).uploadMultipart(data)

AccessTokenPlugin 迁移

  • 使用AccessTokenPluginTargetType添加了AccessTokenAuthorizable一致性.
  • 如果shouldAuthorizetrue 或者未定义,指定一个值为 .bearerAuthorizationType

Reactive MoyaProvider 迁移

  • 替换 RxMoyaProvider<Target>MoyaProvider<Target> 并使用 .rx 命名空间来访问 RxSwift API.
  • 替换 ReactiveMoyaProvider<Target>MoyaProvider<Target> 并使用 .reactive 命名空间来访问 ReactiveSwift API.
  • 如果您要创建一个reactive provider子类, 查看这个PR Eidolon's migration to Moya 9.0.0 它讲述了从子类化到组合的迁移。