Skip to content
This repository was archived by the owner on Jun 2, 2026. It is now read-only.

Repository files navigation

Restful factory for AngularJS.

Build Status

Install

  • bower install restify
  • <script src="bower_components/restify/dist/restify.min.js">

Dependencies

Example

# declare restify as a dependency of your application moduleapp=angular.module('yourModule',['restify'])
# create a service by injecting restify and using its factory function# note: you should probably create one service for the whole api# and then pass it all over the placeapp.factory'API', ['restify',(restify)-># restify # gets a base url and a configuration block# returns a Restified Objectrestify'/api' , (config)-># add your endpointsconfig.add('/users/:id/images')
config.add('/stores/:name/branches/:id')
config.add('/stores/:name/products/:id')
config.add('/stores/:name/images')
]
# inject your service and start playingapp.controller'MyCtrl',['$scope', 'API', ($scope, API)-># GET /api/usersAPI.users.$get().then (users)->$scope.users= users
$scope.userImages= (user)-># provided that user.id == 123# GET /api/users/123/imagesuser.images.$uget().then (images)->user.images= images
$scope.create= (user)-># PUT /api/users$scope.users.$post(user)
$scope.save= (user)-># provided that user.id == 123# PUT /api/users/123user.$put()
$scope.changePassword= (user, password)-># provided that user.id == 123# PATCH /api/users/123user.$patch({password: password})
$scope.remove (user)->user.$delete().then ()->$scope.users=_.without($scope.users,user)
]
View:
<ul><ling-repeat="user in users"><inputtype="text" ng-model="user.name"><inputtype="text" ng-model="user.email"><buttonng-click="save(user)">Save</button><buttonng-click="remove(user)">Remove</button><buttonng-click="getImages(user)">See Images</button><ul><ling-repeat="image in user.images"><imgsrc="{{image.src}}" alt="{{image.alt}}"></li></ul></li></ul>

Restify Class

Own properties (All own properties are prefixed with $$)

Owned properties are ment to be used internally, don't mess with them!

  • $$url
  • $$route
  • $$parent
  • $$headers
  • $$requestInterceptor
  • $$responseInterceptor

Methods (All inherited methods are prefixed with $)

  • $get(): getting the response and restifying it
  • $uget(): getting the response without restifying it
  • $delete():
  • $post([data]): If data is not provided then this object is sent stripped from functions or Restified objects.
  • $patch([data]): If data is not provided then this object is sent stripped from functions or Restified objects.
  • $put([data]): If data is not provided then this object is sent stripped from functions or Restified objects.

Configuration methods(see below)

  • $setHeaders(headers)
  • $setResponseInterceptor(callback)
  • $setRequestInterceptor(callback)

Configartion

All restified object inherits configuration from its parent chain and may override it

# parent chain: api > users > userusers=api.usersuser=users.$id(123)
api.$setHeaders({'X-AUTH-TOKEN':123})
user.$get() # sends X-AUTH-TOKEN: 123users.$setHeaders({'X-AUTH-TOKEN':456})
user.$get() # sends X-AUTH-TOKEN: 456api.$get() # still sends X-AUTH-TOKEN: 123# note: $id creates a new restified objectsameUser=users.$id(123)
user !== sameUser # true# note: every request data creates a new restified objectuser.$get.then(sameUser)->
user !== sameUser # true

About

Restful factory for AngularJS.

Resources

Stars

25 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages