Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

feathers-rest

feathersjs-ecosystem11.7kMITdeprecated1.8.1TypeScript support: included

Feathers v3 is out and this module is now part of @feathersjs/express. See https://docs.feathersjs.com/migrating.html for more information.

The Feathers REST API provider

feathers, feathers-plugin

readme

feathers-rest

Important: For Feathers v3.0.0 and later, feathers-rest is has been replaced by framework specific adapters. Use @feathersjs/express and @feathersjs/express/rest provided in that module instead.

Greenkeeper badge

Build Status Code Climate Test Coverage Dependency Status Download Status Slack Status

The Feathers REST API provider

About

This provider exposes Feathers services through a RESTful API using Express that can be used with Feathers 1.x and 2.x as well as client support for Fetch, jQuery, Request, Superagent, axios and angular2+'s HTTP Service.

Note: For the full API documentation go to https://docs.feathersjs.com/api/rest.html.

Quick example

import feathers from 'feathers';
import bodyParser from 'body-parser';
import rest from 'feathers-rest';

const app = feathers()
  .configure(rest())
  .use(bodyParser.json())
  .use(bodyParser.urlencoded({ extended: true }))
  .use(function(req, res, next) {
    req.feathers.data = 'Hello world';
    next();
  });

app.use('/:app/todos', {
  get: function(id, params) {
    console.log(params.data); // -> 'Hello world'
    console.log(params.app); // will be `my` for GET /my/todos/dishes

    return Promise.resolve({
      id,
      params,
      description: `You have to do ${name}!`
    });
  }
});

Client use

import feathers from 'feathers/client';
import rest from 'feathers-rest/client';

import jQuery from 'jquery';
import request from 'request';
import superagent from 'superagent';
import axios from 'axios';
import {Http, Headers} from '@angular/http';


const app = feathers()
  .configure(rest('http://baseUrl').jquery(jQuery))
  // or
  .configure(rest('http://baseUrl').fetch(window.fetch.bind(window)))
  // or
  .configure(rest('http://baseUrl').request(request))
  // or
  .configure(rest('http://baseUrl').superagent(superagent))
  // or
    .configure(rest('http://baseUrl').axios(axios))
  // or (using injected Http instance)
    .configure(rest('http://baseUrl').angular(http, { Headers }))

License

Copyright (c) 2015

Licensed under the MIT license.