Skip to content
/ APIKit Public

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

Folders and files

NameName
Last commit message
Last commit date
Oct 2, 2022
Sep 19, 2022
Apr 2, 2019
Jan 1, 2022
Feb 25, 2021
Mar 5, 2018
Oct 2, 2022
Oct 22, 2022
Mar 5, 2016
Oct 2, 2022
Mar 20, 2016
Aug 13, 2022
Aug 13, 2022
Sep 18, 2016

Repository files navigation

APIKit

Build Status codecov Carthage compatible Version Platform Swift Package Manager

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

  • 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