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.0 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.

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