Endpoint
Endpoint copied to clipboard
:rocket: Elegant API Abstraction for Swift
Endpoint (Deprecated)
⚠️ This project has been deprecated. Consider using Moya and MoyaSugar instead.
🚀 Elegant API Abstraction for Swift.
At a Glance
API Declarations
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"
}
Using APIs
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.
Installation
-
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"), ] )
License
Endpoint is under MIT license. See the LICENSE file for more info.