Endpoint 0.2.0

Endpoint 0.2.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Jun 2017
SPMSupports SPM

Maintained by Suyeol Jeon.


Downloads

Total3,002
Week0
Month4

Installs

Apps17
Test Targets4
powered by Segment

GitHub

Stars35
Watchers0
Forks3
Issues0
Contributors1
Pull Requests1

Code

Files1
LOCLines of Code 66


Endpoint 0.2.0

  • By
  • Suyeol Jeon

Endpoint

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