manniru
7/25/2015 - 7:31 PM

rest-api using node.js and sqlite3

rest-api using node.js and sqlite3

var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('data/demodb02');

db.serialize(function() {
    db.run("CREATE TABLE IF NOT EXISTS counts (key TEXT, value INTEGER)");
    db.run("INSERT INTO counts (key, value) VALUES (?, ?)", "counter", 0);
});



var express = require('express');
var restapi = express();

restapi.get('/data', function(req, res){
    db.get("SELECT value FROM counts", function(err, row){
        res.json({ "count" : row.value });
    });
});

restapi.post('/data', function(req, res){
    db.run("UPDATE counts SET value = value + 1 WHERE key = ?", "counter", function(err, row){
        if (err){
            console.err(err);
            res.status(500);
        }
        else {
            res.status(202);
        }
        res.end();
    });
});


restapi.listen(3000);

console.log("Submit GET or POST to http://localhost:3000/data");
{
  "name": "restapi",
  "version": "1.0.0",
  "description": "",
  "main": "restapi.js",
  "dependencies": {
    "express": "^4.13.1",
    "sqlite3": "^3.0.9"
  },
  "devDependencies": {},
  "scripts": {
    "start": "node restapi.js"
  },
  "author": "Varunendra Pratap Singh",
  "license": "ISC"
}

step to run 1: npm install 2: npm install https://github.com/mapbox/node-sqlite3/tarball/master 3: node restapi.js