MoyaAPIClient

这个库是一个基于 Moya 的超简单的 APIClient。

安装

将下面这行添加到你的 Package.swift 中。

.package(url: "https://github.com/fummicc1/MoyaAPIClient", .upToNextMajor(from: "1.1.0")),

并使用 MoyaAPIClient 库。

.product(name: "MoyaAPIClient", package: "MoyaAPIClient"),

使用方法

  1. 定义你的 APITarget (APITarget 遵循 Moya.TargetType)
import Moya

public enum APIRequest {
    case index(text: String)
}

extension APIRequest: APITarget {
    public var baseURL: URL {
        URL(string: "https://example.com")!
    }

    public var path: String {
        switch self {
        case .index:
            return "/"
        }
    }

    public var method: Moya.Method {
        switch self {
        case .index:
            return .get
        }
    }

    public var task: Moya.Task {
        switch self {
        case let .index(text):
            return .requestParameters(
                parameters: [
                    "text": text
                ],
                encoding: URLEncoding.default
            )
        }
    }

    public var headers: [String : String]? {
        nil
    }
}
  1. 调用 API 请求
public struct Response: Decodable {
    public let results: [Result]
}

public extension Response {
    struct Result: Decodable {
        // ...
    }
}

let request: APIRequest = .index(text: "message")
let resppnse: Response = try await request.send()

贡献

欢迎提交 Pull Request、错误报告和功能请求 🚀

许可证

MIT 许可证