I have a very simple resful api created just for practice. But when i try to use the url e.g. localhost:3000/people it only diplays an empty array like this [ ]. There is no error in console. I am using node-restful package to create the api. Here is the code i used :
Server.js (this is copied same to same from node-restful package(https://github.com/baugarten/node-restful)
var express = require('express'),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
morgan = require('morgan'),
restful = require('node-restful'),
mongoose = restful.mongoose;
var app = express();
app.use(morgan('dev'));
app.use(bodyParser.urlencoded({'extended':'true'}));
app.use(bodyParser.json());
app.use(bodyParser.json({type:'application/vnd.api+json'}));
app.use(methodOverride());
mongoose.connect("mongodb://localhost/mydbs");
var people = app.people = restful.model('people', mongoose.Schema({
name: String
}))
.methods(['get', 'post', 'put', 'delete']);
people.register(app, '/people');
app.listen(3000);
console.log("working");
package.json
{
"name": "app1",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.15.1",
"express": "^4.13.4",
"lodash": "^4.12.0",
"method-override": "^2.3.5",
"mongoose": "^4.4.16",
"morgan": "^1.7.0",
"node-restful": "^0.2.5",
"resourcejs": "^1.2.0"
}
}
and inside my mongodb there is data in db:named mydbs Collection:people
> show dbs
local 0.000GB
**mydbs 0.000GB**
test 0.000GB
> show collections
people
> db.people.find()
{ "_id" : ObjectId("57343f28f41d55c64cca135b"), "name" : "jackal" }
Now when I start server and goto http://localhost/people it display an empty Array [ ]. But it should show the entry in Json format something like this
{
_v: 0,
_id: 123344390dfsjkjsdf,
name: 'jackal'
}
Please help!!! Please give me right direction. Thanks