Build quick and simple RESTfull APIs using Node.js and connect. Based on resty by Alex Angelini <a href="mailto:alex.louis.angelini@gmail.com">alex.louis.angelini@gmail.com</a>


Build quick and simple RESTfull APIs using Node.js and connect Based on resty for Node.JS by Alex Angelini alex.louis.angelini@gmail.com

Resty is a connect middleware which let's you build a simple REST interface for your application. I have found it especially useful when building single page web apps which need a server-side API.

The resources are all laid out in a simple directory structure which helps build a clean perspective of how people can interact with your API.

npm install easyapi

Simply require the middleware and tell connect to use it:

var connect = require('connect');
var resty = require('easyapi');

var app = connect.createServer();

Remember to add middleware for authentication and file serving, as resty only provides the routing for the API resources.

Here is what an example resource folder may look like:

├── songs
│   └── songs.js
└── users
    ├── contacts
    │   └── contacts.js
    └── users.js

Where a file with the same name as the parent directory will contain the Resources methods and any subfolders are nested resources.

An over-simplified user resource may look like this:

var Users = {
  Resource: {
    get: function(uid, callback) {
      callback(null, {uid: uid, query: this.query});

  Collection: {
    get: function(callback) {
      callback(null, {all: 'users'});

module.exports = Users;

Users.Resource will be called if the url was /users/123 and Users.Collection will be called if the url was /users/.