🚀 Elegant API Abstraction for Swift.
Create an Enum with raw type Rule and conform protocol Endpoint. Each cases is the API endpoint which contains HTTP method and URL path.
enum GitHub: Rule, Endpoint {
static var baseURLString = "https://api.github.com"
case Repo = "GET /repos/<owner>/<repo>"
case RepoIssues = "GET /repos/<owner>/<repo>/issues"
case CreateIssue = "POST /repos/<owner>/<repo>/issues"
}Endpoint is built on Alamofire. Calling request() on endpoint cases returns Alamofire.Request instance.
GitHub.Repo.request(["owner": "devxoul", "repo": "Then"]).responseJSON { response in
// This is an Alamofire's response block!
}This example is sending an HTTP request to https://api.github.com/repos/devxoul/Then using GET.
-
Using CocoaPods:
pod 'Endpoint', '~> 0.2'
-
Using Carthage:
github "devxoul/Endpoint" ~> 0.2 -
Using Swift Package Manager:
import PackageDescription let package = Package( name: "MyAwesomeApp", dependencies: [ .Package(url: "https://github.com/devxoul/Endpoint", "0.2.0"), ] )
Endpoint is under MIT license. See the LICENSE file for more info.