So erstellen Sie eine RESTful-API mit Nodejs und SQL Server

Blog

So erstellen Sie eine RESTful-API mit Nodejs und SQL Server

Node.js ist ein leistungsstarkes JavaScript-Framework, das auf der JavaScript V8-Engine von Google Chrome basiert. Es wird verwendet, um I/O-intensive Webanwendungen wie Video-Streaming-Sites, Single-Page-Anwendungen usw. zu entwickeln. Node.js ist Open Source und wird von Tausenden von Entwicklern auf der ganzen Welt verwendet.



Node.js ist eine großartige Plattform zum Erstellen einer REST-API. Es ist Open Source und absolut kostenlos. Darüber hinaus basiert Node.js auf JavaScript auf dem Server. Bitte befolgen Sie die Schritte, um diese Node.js-API zu erstellen

Schritt 1:

Erstellen Sie einen neuen Ordner namens connection, um eine DB.js zu platzieren



Erstellen Sie einen neuen Ordner namens controller, um den Namen der Js zu platzieren, in denen Sie APIs erstellen möchten

node_modules enthält zugehörige Dateien für NodeJs, wobei dies der Standardordner in Node.js ist, nachdem NPM-Pakete initialisiert wurden.



Index.js

Importieren Sie das Expressmodul in die Datei index.js. Es enthält viele Funktionen für die Web- und mobile Anwendung von Body-Parser und CORS usw.

var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS'); next(); }); app.use(bodyParser.urlencoded(extended: true )); const ProfileData = require('./controller/profile') app.use('/', ProfileData) app.listen(5000, function () { console.log('Server is running..'); });

Führen Sie die NodeJs mit dem Befehl node index aus

Schritt 2:

Erstellen Sie die Datei DB.js im Verbindungsordner und konfigurieren Sie die DB-Verbindung.

Ein Beispiel ist im folgenden Screenshot.

Verwenden Sie immer ConnectionPool für gute Praxis. Mit ConnectionPool ist es nicht erforderlich, für jede Anfrage und Antwort ein Öffnen und Schließen für eine MSSQL-Verbindung zu erstellen.

// DB.js config for your database const sql = require('mssql') const config = { user: 'abcd', password: 'abcd', server: 'localhost', database: 'profile' } const poolPromise = new sql.ConnectionPool(config) .connect() .then(pool => { console.log('Connected to MSSQL') return pool }) .catch(err => console.log('Database Connection Failed! Bad Config: ', err)) module.exports = { sql, poolPromise }

Schritt 3:

Erstellen Sie eine neue Tabelle mit dem Namen tblProfile in SQL Server.

Fügen Sie die folgenden Daten in die tblProfile-Tabelle ein

insert into tblProfile (name,lastname,email,password) values ('Raju','B','raju00@gmail.com','test') insert into tblProfile (name,lastname,email,password) values ('Sachin','S','Sachin00@gmail.com','test') insert into tblProfile (name,lastname,email,password) values ('Suraj','S','Suraj00@gmail.com','test')

Erstellen Sie eine Store-Prozedur für das Einfügeprofil

CREATE procedure [dbo].[InsertProfile] ( @name varchar(50), @lastname varchar(50), @email varchar(50), @password varchar(50) ) AS BEGIN insert into tblProfile (name,lastname,email,password) values( @name, @lastname, @email, @password) END

Store-Prozedur für Profil löschen erstellen

CREATE procedure [dbo].[DeleteProfile] ( @id int ) AS BEGIN delete from tblProfile where id=@id END

Schritt 4:

Erstellen Sie die Datei profile.js im Controller-Ordner

Importieren Sie DB.js-Dateien in die Datei profile.js, um die DB-Aktivität zu verbinden.

Hinweis: NodeJs-Framework ist ein Singlethread- und asynchrones Framework. Als Best Practice müssen wir async/await verwenden.

Unten ist die Get API für das Profil

Wir können Daten mit einer SQL-Abfrage abrufen.

const express = require('express') const router = express.Router() const { poolPromise } = require('../connection/db') const sql = require('mssql') router.get('/ApiProfileGet', async (req, res) => { try { const pool = await poolPromise const result = await pool.request() .query('select * from tblProfile',function(err, profileset){ if (err) { console.log(err) } else { var send_data = profileset.recordset; res.json(send_data); } }) } catch (err) { res.status(500) res.send(err.message) } })

Führen Sie die Node.js-Apps mit dem Befehl Node index . aus

pdf in txf umwandeln

Unten ist die Post API für das Profil.

Unten ist das Beispiel mit Postman

router.post('/ApiProfilePost', async (req, res) => { try { const pool = await poolPromise const result = await pool.request() .input('name', sql.VarChar(50), req.body.name) .input('lastname', sql.VarChar(50), req.body.lastname) .input('email', sql.VarChar(50), req.body.email) .input('password', sql.VarChar(50), req.body.password) .execute('InsertProfile').then(function (recordSet) { res.status(200).json({ status: 'Success' }) }) } catch (err) { res.status(400).json({ message: 'invalid' }) res.send(err.message) } })

Unten ist die Lösch-API für das Profil

Beispiel:

router.delete('/ApiProfileDelete', async (req, res) => { try { const pool = await poolPromise const result = await pool.request() .input('id', sql.Int, req.body.id) .execute('DeleteProfile').then(function (err, recordSet) { res.status(200).json({ status: 'Success' }) }) } catch (err) { res.status(500) res.send(err.message) } })

Danke fürs Lesen!

#node #api #rest #sql #sql-server