Creating database API service:

connecting to database:

sql  =  require("msnodesqlv8");
const connectionString = "Server={localhost}; Database={Products}; Trusted_Connection=Yes;Driver={SQL Server Native Client 11.0}; "
const query = "SELECT * FROM Products"
sql.query(connectionString,  query,   (err,  rows)  =>  {    
    console.log(rows);
});

Accessing it through API

const express = require('express')
const bodyParser = require('body-parser');

const app = express();
app.use(bodyParser.json());

const port = 3000

app.listen(port, () => console.log(Example app listening on port ${ port }!))

const sql = require("msnodesqlv8");

const connectionString = "Server=<server_name>; Database=<database_name>; Trusted_Connection=Yes;Driver=SQL Server Native Client 11.0; "

let query;
//const query = "SELECT TOP (10) * FROM <table>"
app.get('/test', (req, res) => {
  res.send('{"query": "SELECT TOP (10) * FROM <table>"} nr supported method is Post');
}
);
app.post('/test', (req, res) => {
  query = req.body.query;
  sql.query(connectionString, query, (err, rows) => {
    res.send({ rows: rows, error: err });
  }
  )
}
);
app.all('/test', (req, res) => {
  res.send("Not supported");
}
);

Enabling https:

install git for windows

Navigate to:

<installation>\Git\usr\bin

see if you have a file called openssl.exe

run the below command to create the ssl certificate

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

Now make our module ssl

const app = require('express')();
const https = require('https');
const fs = require('fs');
//GET home route
app.get('/', (req, res) => {
res.send('Hello World');
});
// we will pass our 'app' to 'https' server
https.createServer({
key: fs.readFileSync('./key.pem'),
cert: fs.readFileSync('./cert.pem'),
passphrase: 'praveen'
}, app)
.listen(127.0.0.1,3000);

Avoiding sql injection

query = (req.body.query).toString().replace(/[^a-zA-Z 0-9]/g, "") ;