N3Restful-Swift - RESTful service interaction in iOS project with Swift

jopen 6年前


RESTful service interaction in Swift iOS project.


  • Request with dictionary param.
  • Request with object param RESTParam.
  • Request with multipart data (JSON, String, File).


  • iOS 8.0 or later.



CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate Alamofire and SwiftyJSON into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'  platform :ios, '8.0'  use_frameworks!    pod 'Alamofire'  pod 'SwiftyJSON'

Then, run the following command:

$ pod install


If you prefer not to use either of the aforementioned dependency managers, you can integrate Alamofire and SwwiftyJSON into your project manually.


Create data model SignInResult

class SignInResult: ROJSONObject {      var access_token: String! {          return Value<String>.get(self, key: "access_token")      }        lazy var user: User! = {          return Value<User>.getROJSONOject(self, key: "user")      }()  }
class User: ROJSONObject {        var email: String! {          return Value<String>.get(self, key: "email")      }        var first_name: String! {          return Value<String>.get(self, key: "first_name")      }        var last_name: String! {          return Value<String>.get(self, key: "last_name")      }  }

Create object param class

class SignInParam: RESTParam {      var email: String!      var password: String!  }


  • Init invoker with a controller:
init() {      super.init(controllerName: "sessions")  }
  • Make a request to sign in and parse response to SignInResult object
func signIn(param: SignInParam, completion: (result: SignInResult?, error: RESTError?) -> Void) {      let request = requestWithMethodName(nil)        request.POST(param) { (result: SignInResult?, error) -> () in          completion(result: result, error: error)      }  }


If you see any problems or you want to make an improvement, please create Issues ans we can discuss.


项目地址: https://github.com/nguyenngocnhan90/N3Restful-Swift