Skip to content

Type-safe networking abstraction layer that associates request type with response type.

License

Notifications You must be signed in to change notification settings

ishkawa/APIKit

Repository files navigation

APIKit

Build StatuscodecovCarthage compatibleVersionPlatformSwift Package Manager

APIKit is a type-safe networking abstraction layer that associates request type with response type.

// SearchRepositoriesRequest conforms to Request protocol. letrequest=SearchRepositoriesRequest(query:"swift") // Session receives an instance of a type that conforms to Request. Session.send(request){ result inswitch 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

  • Insert github "ishkawa/APIKit" ~> 5.0 to your Cartfile.
  • Run carthage update.
  • Link your app with APIKit.framework in Carthage/Build.
  • Insert pod 'APIKit', '~> 5.0' to your Podfile.
  • Run pod install.

Note: CocoaPods 1.4.0 is required to install APIKit 5.

Documentation

Advanced Guides

Migration Guides

About

Type-safe networking abstraction layer that associates request type with response type.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 38