A small, zero-config, file-based REST API database, useful for testing client applications.
- Global install:
npm install resty-zero-config -g
(and prefixsudo
if required) - Local install:
npm install resty-zero-config --save-dev
If you installed it globally, just type resty
and pass any command-line parameter (see below). If you installed it locally, type node_modules/.bin/resty
.
Data is stored in JSON files, one file per path. For example, all requests to /api/users
will read and update from users.json.
- Start server, storing files in the
json
directory:resty --data json
. - Add a record from the command line:
curl http://localhost:3000/api/users -H "Content-Type: application/json" -d '{ "name": "Luis", "password": "mypw" }' -X POST
- Query all records from the command line:
curl http://localhost:3000/api/users
GET /api/route
: Returns all elements in the JSON file specified by the route.POST /api/route
: Adds an element at the end of the JSON file specified by the route. If not present, adds an_id
property with a unique value, useful for GET/PUT/Delete operations.PUT /api/route/id
: Updates the element identified byid
.DELETE /api/route/id
: Removes the element identified byid
.GET /api/route/id
: Returns a single element identified byid
.
--port
: HTTP port to be used. Defaults to 3000.--data
: directory used to store JSON files. Defaults to working directory.--prefix
: API prefix. Defaults to /api.--static
: directory used for static content. Disabled by default.--delay
: response delay in milliseconds. Defaults to 0.--write-time
: interval between file updates in milliseconds. Defaults to 1000. If negative, data will not be written to file.--disable-cors
: enable/disable CORS. It is enabled by default, so that requests can be sent from pages served from any host or port.