Nội dung chính Hiển thị
Trong bài viết này, chúng tôi sẽ thực hiện một cách tiếp cận từng bước để giúp bạn xây dựng API REST trong Node. js thực hiện các hoạt động đọc và ghi trên cơ sở dữ liệu trong SQL Server
Vào cuối bài viết này, bạn sẽ có thể tạo Nút API. js REST thực hiện các CRUD active trên cơ sở dữ liệu trong SQL Server
API kiến trúc
Cài đặt
Để bắt đầu, hãy mở lệnh và chạy lệnh
node -v
Lệnh trên sẽ trả về phiên bản Node. js đã được cài đặt trên máy của bạn. Nếu nó không trả về một phiên bản, hãy cài đặt Node. js từ đây. https. //nodejs. org/vi/tải xuống/
Sau khi cài đặt, một lần nữa chạy lệnh trên để xác minh cài đặt thành công của Node. js. Ngoài ra, chúng tôi sẽ sử dụng mã VS để phát triển, vì vậy nếu chưa cài đặt, hãy xem cài đặt mã VS từ đây. https. //mã số. Visual Studio. com/doad
Để kiểm tra API, chúng tôi sẽ sử dụng Telerik Fiddler ở khắp mọi nơi. Tải xuống và cài đặt nó từ đây
Configure SQL Server
Chúng tôi sẽ sử dụng SQL Server để lưu trữ dữ liệu. To connect node Node. js và SQL Server trên bộ máy cục bộ, bạn cần đảm bảo về các cấu hình cụ thể. Vì vậy, để kiểm tra cấu hình chéo trên máy Windows, hãy nhấn Windows Key + R và nhập lệnh Compmgmt. msc to open window Quản lý máy tính. Phím Windows + R và gõ lệnh compmgmt. msc để mở cửa sổ Computer Management
Trong cửa sổ Quản lý máy tính, chọn Cấu hình mạng SQL Server và đảm bảo tùy chọn TCP/IP được bật
Khi tùy chọn TCP/IP được bật, nhấp chuột phải vào TCP/IP và chọn Thuộc tính. Trong cửa sổ Thuộc tính, hãy chắc chắn rằng cổng được đặt thành 1433. 1433
Tiếp theo, Open SQL Server Management Studio and run command
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
Nó sẽ trả về local_net_address và local_tcp_port. local_net_address và local_tcp_port
You have to two this value in Node. js to connect with SQL Server cơ sở dữ liệu. Để tạo API, chúng tôi đã tạo một cơ sở dữ liệu đơn hàng với các quy trình được lưu trữ
Lược đồ bảng đặt hàng trông như thế này
Chúng tôi sẽ thực hiện các hoạt động đọc và viết trên bảng. Bên cạnh các cấu hình trên, lưu tên phiên bản SQL Server và thông tin người dùng SQL
Tạo dự án API
Để tạo dự án, hãy tạo một thư mục trống và thay đổi thư mục thành thư mục đó. In the command directory run
npm init -y
Lệnh này sẽ tạo gói tệp. json with default value in project directory. Mở thư mục dự án trong mã VS và sửa đổi gói tệp. json as being display bên dưới. bưu kiện. json với các giá trị mặc định trong thư mục dự án. Mở thư mục dự án trong Mã VS và sửa đổi gói. json như hình bên dưới
{
"name": "nodeapi",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start":"nodemon api.js"
},
"dependencies": {
"body-parser": "~1.0.1",
"cors": "2.8.1",
"express": "~4.0.0",
"mssql": "^6.2.1"
},
"devDependencies": {
"nodemon": "^2.0.4"
},
"keywords": [],
"author": "Dhananjay Kumar [//debugmode.net]",
"license": "ISC"
}
Sau khi cập nhật gói tệp. json, on command, run command
npm install
Sau khi cài đặt thành công, bạn sẽ tìm thấy thư mục con Node_Modules được thêm vào dự án. Tiếp theo, thêm tệp dbconfig. js và thêm mã dưới đây trong đó. thư mục con node_modules được thêm vào dự án. Tiếp theo, thêm tệp dbconfig. js và thêm đoạn mã dưới đây vào đó
const config = {
user: 'foo', // sql user
password: 'foo', //sql user password
server: '127.0.0.1', // if it does not work try- localhost
database: 'Products',
options: {
trustedconnection: true,
enableArithAbort: true,
instancename: 'SQLEXPRESS' // SQL Server instance name
},
port: 55892
}
module.exports = config;
Tệp trên chứa cấu hình để kết nối với SQL Server. Đối với bạn, số cổng có thể khác, mà bạn đã lưu ý trong bước trước
Tiếp theo, chúng tôi sẽ tạo một lớp để đại diện cho bảng thứ tự. Đối chiếu với điều đó, thêm một đơn đặt hàng tệp. js trong dự án và đặt mã bên dưới đó. trật tự. js trong dự án và đặt mã bên dưới vào đó
class Order{
constructor[Id,Title,Quantity,Message,City]{
this.Id = Id;
this.Title = Title;
this.Quantity = Quantity;
this.Message = Message;
this.City = City;
}
}
module.exports = Order;
Lớp thứ tự có các thuộc tính tương ứng với các cột của bảng thứ tự. Sau này, tạo một tệp có tên DBOPERATION. js. Tệp này chứa các chức năng để thực hiện các cơ sở dữ liệu hoạt động. Trong tệp này, DBConfig mô-đun và MSSQL nhập lần đầu. Chúng tôi sẽ sử dụng MSSQL để kết nối với SQL Server từ Node. thao tác jsdb. js. Tệp này chứa các chức năng để thực hiện các hoạt động cơ sở dữ liệu. Trong tệp này, trước tiên hãy nhập các mô-đun dbconfig và mssql. Chúng tôi sẽ sử dụng mssql để kết nối với Máy chủ SQL từ Nút. js
var config = require['./dbconfig'];
const sql = require['mssql'];
Bạn có thể tìm cách tải tất cả các đơn đặt hàng từ bảng đặt hàng như hình dưới đây
________số 8In the function GetTorders
- Chúng tôi đang kết nối với cơ sở dữ liệu bằng phương thức SQL. Liên kết. Phương pháp này chấp nhận đối tượng cấu hình cơ sở dữ liệu và trả về một lời hứa
- Dựa trên phản hồi của phương thức kết nối, chúng tôi thực hiện truy vấn
- Trong truy vấn, chúng tôi đang vượt qua truy vấn SQL để được thực thi
- Chúng tôi đang trả lại các bản ghi của kết quả truy vấn, trong đó bao gồm các bản ghi từ bảng trong một mảng
Theo cách tương tự, bạn có thể lấy một đơn đặt hàng cụ thể như hình dưới đây
async function getOrder[productId] {
try {
let pool = await sql.connect[config];
let product = await pool.request[]
.input['input_parameter', sql.Int, productId]
.query["SELECT * from Orders where Id = @input_parameter"];
return product.recordsets;
}
catch [error] {
console.log[error];
}
}
Tại đây, bạn cần chuyển phương thức đầu vào để vượt qua tham số đầu vào. Bạn có thể chèn một bản ghi bằng cách thực thi truy vấn chèn hoặc gọi một thủ tục đang được lưu trữ, như được hiển thị trong danh sách mã dưới đây
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
0Ở đây, Insertorder là tên của thủ tục được lưu trữ. Ngoài ra, chúng tôi đang chuyển tất cả các tham số cho quy trình được lưu trữ bằng phương pháp đầu vào. InsertOrders là tên của thủ tục được lưu trữ. Ngoài ra, chúng tôi đang chuyển tất cả các tham số cho thủ tục được lưu trữ bằng cách sử dụng phương thức nhập liệu
Set all thứ lại với nhau, dboperations. js nên có mã như hình dưới đây. hoạt động db. js nên có mã như hình dưới đây
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
1Tạo API
Chúng tôi sẽ sử dụng Express để tạo API REST và chúng tôi đã cài đặt nó. Add a file call is API. js trong dự án và đặt mã dưới đây vào đó. api. js trong dự án và đặt đoạn mã dưới đây vào đó
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
2Chúng tôi chỉ đang nhập các mô-đun cần thiết như Express, CORS, Body-Parser. Bên cạnh họ, tôi còn nhập mô-đun DBoperations. Ngoài ra, chúng tôi đang mã hóa URL và cấu hình API để sử dụng CORS
Tiếp theo, ở dưới cùng của tệp api. js, đặt mã dưới đây. Mã này đang định cấu hình API để nghe một cổng cụ thể
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
3Bây giờ, tất cả chúng ta đã được thiết lập để viết API trực tuyến. Đầu tiên, hãy cấu hình phần mềm trung gian như sau
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
4Ngay bây giờ, nó không làm gì cả. Tuy nhiên, tuyến đường này sẽ được gọi trước bất kỳ tuyến đường nào khác và bạn có thể thiết lập xác thực, ủy quyền, hoạt động ghi nhật ký tại đây
Tiếp theo, để tìm nạp tất cả các đơn đặt hàng, bạn cần thực hiện rằng nó đã được kích hoạt. Để làm như vậy, hãy thêm một tuyến đường vào API như hình dưới đây
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
5Trong tuyến đường này, chúng tôi đang gọi phương thức GetArd[] của mô-đun DBoperations để tìm tải tất cả các đơn đặt hàng. Tương tự như vậy, bạn có thể thêm một đơn đặt hàng bằng cách thực hiện các bài hoạt động như hình dưới đây
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
6Ở trên, chúng tôi đang đọc thứ tự được chèn từ thân yêu cầu và chuyển nó cho chức năng Addorder và sau khi chèn thành công, trả về bản ghi mới được chèn vào trạng thái 201
Bạn có thể lấy một đơn đặt hàng cụ thể như hình dưới đây
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
7Ở đây OrderID đã được thông qua trong tham số truy vấn. Đặt lại mọi thứ với nhau, API. js với các hoạt động đọc và viết sẽ giống như bên dưới
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
8Bây giờ chạy API bằng lệnh dưới đây
select distinct local_net_address, local_tcp_port from sys.dm_exec_connections where local_net_address is not null
9Bạn sẽ nhận được một tin nhắn trong bảng điều khiển mà API đặt hàng đang chạy ở 8090. Vì vậy, cho đến nay, chúng tôi đã xây dựng API và chạy nó
Kiểm tra API
Tiếp theo, chúng ta hãy kiểm tra API bằng Fiddler ở khắp mọi nơi. Để kiểm tra các hoạt động GET trong Fiddler ở khắp mọi nơi, hãy tạo một yêu cầu mới và vượt qua URL API như được hiển thị bên dưới
Bạn sẽ nhận được dữ liệu được trả về dưới dạng JSON. Để kiểm tra hoạt động chèn thứ tự, thực hiện hoạt động bài, như hình dưới đây
Khi nhập thành công hồ sơ, bạn sẽ thấy một hàng mới được đưa vào đã được trả lại
BẢNG XÁC SUẤT
Trong bài viết này, theo từng bước, bạn đã học cách tạo API dựa trên Node. js, thực hiện tạo và đọc các hoạt động trên bảng trong cơ sở dữ liệu SQL Server. Tôi hy vọng bạn thấy nó hữu dụng. Thank vì đã đọc