Merge branch ‘master’ of github.com:cpageler93/api-client
APIClient is an easy to use HTTP Client for Swift based on swift-server/async-http-client..
APIClient
let githubClient = TestGitHubClient() let repos = try githubClient.user.repositories(owner: "cpageler93").wait()
import Foundation import NIO import NIOHTTP1 import APIClient // Define your clients routes class TestGitHubClient: APIClient { public var user: UserRoutes! init() { super.init(baseURL: URL(string: "https://api.github.com")!) user = UserRoutes(apiHandler: self.handler) } } // Define single routes struct UserRoutes { let apiHandler: APIRouteHandler func repositories(owner: String) -> EventLoopFuture<[Repository]> { return apiHandler.get("/users/\(owner)/repos", headers: apiHandler.githubHeader()) } } // Codable DTOs struct Repository: Codable { var id: Int var name: String? var fullName: String? } // Header Helper private extension APIRouteHandler { func githubHeader() -> HTTPHeaders { return headers(["User-Agent": "Swift GitHub Client"]) } }
Please submit an issue on GitHub or contact me via Mail or Twitter.
This project is licensed under the terms of the MIT license. See the LICENSE file.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
APIClient
APIClient
is an easy to use HTTP Client for Swift based on swift-server/async-http-client..Usage Example (GitHub)
Call your APIs like this
GitHub API Client (simplified)
Need Help?
Please submit an issue on GitHub or contact me via Mail or Twitter.
License
This project is licensed under the terms of the MIT license. See the LICENSE file.