NODE-DOCUMENT-API preview
HTTP API endpoint/middleware for node-document ODM for Node.js.
About
Unified HTTP API for write/read data to/from differen kinds of storages/databases.
HTTP API
POST
-
(:route)/:type/:id
HTTP POST /post/1{"title": "Post 1","description": "Lorem ipsum..."}/*200 OK*/"_type": "post""_id": 1"title": "Post 1""description": "Lorem ipsum..." -
(:route)/:type/:id,...,:id
HTTP POST /post/1,2,3[{"title": "Post 1","description": "Lorem ipsum..."},{"title": "Post 2","description": "Lorem ipsum..."},{"title": "Post 3","description": "Lorem ipsum..."}]/*200 OK*/truetruetrue
PUT
-
(:route)/:type/:id
HTTP PUT /post/1{"title": "Post 1","description": "Lorem ipsum...","extra": true}/*200 OK*/"_type": "post""_id": 1"title": "Post 1""description": "Lorem ipsum...""extra": true -
(:route)/:type/:id,...,:id
HTTP PUT /post/1,2,3[{"title": "Post 1","description": "Lorem ipsum...","extra": true},{"title": "Post 2","description": "Lorem ipsum...","extra": true},{"title": "Post 3","description": "Lorem ipsum...","extra": true}]/*200 OK*/truetruetrue
GET
-
(:route)/:type/:id
HTTP GET /post/1/*200 OK*/"_type": "post""_id": 1"title": "Post 1""description": "Lorem ipsum..." -
(:route)/:type/:id,...,:id
HTTP GET /post/1,2,3/*200 OK*/"_type": "post""_id": 1"title": "Post 1""description": "Lorem ipsum...""_type": "post""_id": 2"title": "Post 2""description": "Lorem ipsum...""_type": "post""_id": 3"title": "Post 3""description": "Lorem ipsum..."
DELETE
-
(:route)/:type/:id
HTTP DELETE /post/1/*200 OK*/"_type": "post""_id": 1"title": "Post 1""description": "Lorem ipsum..." -
(:route)/:type/:id,...,:id
HTTP DELETE /post/1,2,3/*200 OK*/falsetruetrue
Example
Using Connect.js:
var connect = var http = ; var Document = ; var API = ; var Post = Document'Post'; Postapi = ; var app = ; app ; http;
Using Express.js:
var express = var Document = ; var API = ; var Post = Document'Post'; Postapi = ; var app = ; app ; app;
Installation
$ npm install node-document-api
Test
Local tests:
$ make test
License
Released under the MIT license.
Copyright (c) Jonas Grimfelt