Giter Club home page Giter Club logo

rest-io's Introduction

REST.IO

Small extendable REST framework for express and mongoose. wercker status

Installation

$ npm install rest-io --save

Versioning

This project is not using Semantic Versioning. Instead we are using Feature Versioning

New in v5.0.0

  • Roles can now be updated via the API with Authorization rights Note only ADMIN users can modify roles in this implementation, extend UserResource for a more specific implementation

Features

Roadmap

  • More default operations:
    • count
    • exists
    • batch update
  • Documentation generation

Reference

Quick Start

It's easy and fast to use rest.io. To start using rest.io see the next few steps:

Install the necessary node modules:

$ npm i rest-io -S

Create a resource:

import { Resource } from 'rest-io';
export const foodResource = new Resource({
    name: 'food',
    model: {
        name: String
    }
});

Create an app:

const * as express from 'express';
const RestIO from 'rest-io';
const * as mongoose from 'mongoose';

export const app = express();

// register the express app with rest.io
new RestIO(app, {
  resources: __dirname + '/resources'
});

mongoose.connect('mongodb://localhost:27017/test');
app.listen(3000, function () {
    console.log('Server has started under port: 3000');
});

Start the server:

node app.js

Resource is now available as:

Method Url Action
GET /api/foods get all
POST /api/foods create
GET /api/foods/:foodId get by id
PUT /api/foods/:foodId update
DELETE /api/foods/:foodId delete

Registers the app with rest-io. This allows rest-io to bind the routings automatically. The bodyParser module will be used to parse the json requests.

Resources are routed automatically with the configuration provided. These configurations are provided to the Resource constructor.

Property Description Type Default
name The name of the resource String Mandatory
model The mongoose Schema config Schema Mandatory
parentRef The parent reference of the resource to be populated during retrieval String
populate The children to populate, space separated String
plural The plural form of the resource name String pluralize
parentResource The parent of this resource Resource

rest-io's People

Contributors

dominikkukacka avatar enof avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.