APIKit
APIKit is a type-safe networking abstraction layer that associates request type with response type.
// SearchRepositoriesRequest conforms to Request protocol.
let request = SearchRepositoriesRequest(query: "swift")
// Session receives an instance of a type that conforms to Request.
Session.send(request) { result in
switch result {
case .success(let response):
// Type of `response` is `[Repository]`,
// which is inferred from `SearchRepositoriesRequest`.
print(response)
case .failure(let error):
self.printError(error)
}
}
Requirements
- Swift 5.3 or later
- iOS 9.0 or later
- Mac OS 10.10 or later
- watchOS 2.0 or later
- tvOS 9.0 or later
If you use Swift 2.2 or 2.3, try APIKit 2.0.5.
If you use Swift 4.2 or before, try APIKit 4.1.0.
If you use Swift 5.2 or before, try APIKit 5.3.0.
Installation
Carthage
- Insert
github "ishkawa/APIKit" ~> 5.0
to your Cartfile. - Run
carthage update
. - Link your app with
APIKit.framework
inCarthage/Build
.
CocoaPods
- Insert
pod 'APIKit', '~> 5.0'
to your Podfile. - Run
pod install
.
Note: CocoaPods 1.4.0 is required to install APIKit 5.
Documentation
- Getting started
- Defining Request Protocol for Web Service
- Convenience Parameters and Actual Parameters