围绕 put.io API 的简单包装器。PutioKit 包装了所有可用的端点,并提供了一种简单且类型安全的方式与之交互。支持:
在 Package.swift 的 *dependencies* 数组中添加以下内容:
.package(url: "https://github.com/ipavlidakis/PutioKit.git", from: "1.0.0")
该工具包将 API 中可用的端点拆分为单独的服务:目前您可以找到以下可用的服务:
每个服务需要 3 样东西:
ApiClientModel
的一个实例NetworkHandling
协议的实例CredentialsStoring
协议的实例ApiClientModel
结构体代表您的 put.io 应用程序。它包含以下值:
ApiClientModel
用于填充与 API 通信所需的必要信息。
传递给服务的实例将用于执行所有网络操作。 除了任务执行角色之外,该对象还负责提供一个 jsonDecoder,用于解析从 API 收到的数据,以及一个 decode
方法,用于分离每个请求可能发生的各种类型的可用结果(例如,在文件对象的响应中,响应可能会出错。 在这种情况下,结果是 ErrorModel
。 URLSession
中的 decode 方法已经为您处理了这些情况,因此它始终可以返回有意义的结果)
为了便于使用,
URLSession
符合NetworkHandling
传递给服务的实例将用作访问令牌的提供者,这是与 API 通信所必需的
Ilias Pavlidakis
PutioKit 根据 MIT 许可证发布。 有关详细信息,请参阅 LICENSE。