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
MoyaAPIClient
library.Usage
APITarget
(APITarget
conforms toMoya.TargetType
)Contributing
Pull requests, bug reports and feature requests are welcome 🚀
License
MIT LICENSE