Define your APITarget (APITarget conforms to 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
}
}
Call api request
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()
Contributing
Pull requests, bug reports and feature requests are welcome 🚀
MoyaAPIClient
This library is super simple APIClient based on Moya.
Installation
Add below line to your
Package.swift.and use
MoyaAPIClientlibrary.Usage
APITarget(APITargetconforms toMoya.TargetType)Contributing
Pull requests, bug reports and feature requests are welcome 🚀
License
MIT LICENSE