1.0.0 • Published 8 years ago
bogus-api v1.0.0
Bogus API
A wrapper around the great json-server. It allows you to specify multiple REST resources. Pass in a directory of Javascript files to be required, and they become your REST endpoints.
Install
npm install bogus-api
Usage
require('bogus-api').create().start({
resourceDir: './my-resources',
resourceUriPrefix: '/api/v1',
});
Each JS file in the my-resources
directory could look like:
var users = [];
// Create 10 users
for (var i = 0; i < 10; i++) {
users.push({ id: i, name: 'user' + i });
}
module.exports = users;
Or it could look like:
module.exports = [
{ "id": 1, "title": "json-server", "author": "typicode" },
{ "id": 2, "title": "test", "author": "ccnokes" }
];
So you get a little more flexibility than with plain json-server
.
You can add or override routes using the Express API like so:
bogusAPI = require('bogus-api');
var bogusServer = bogusAPI.create({
// These routes will get mounted before the resources are, allowing you to "short-circuit" them
// This is useful for testing how the UI reacts to error states from an API
priorityRoutes: function(server) {
// the server arg is an instance of an Express server
server.get('/someRoute', function(req, res) {
res.status(500).send({ message: 'Some error.' });
});
}
}).start();
Options
Option | Description |
---|---|
port | Port the app runs on. 7001 by default. |
host | 0.0.0.0 by default. |
resourceUriPrefix | Prefixes all resources with a URI. |
resourceDir | Directory containing your resources. Default to sample-resources. |
proxy | Object containing the host and port of the URL to proxy to. No default. |
staticDir | Path to static directory to serve. |
staticUri | URI to serve static directory through. |
1.0.0
8 years ago