1const express = yêu cầu ["bày tỏ"]
8} = yêu cầu[". /utils/queryHelpers"]
11const genericError = "Xin lỗi, đã xảy ra lỗi. "
13ứng dụng. sử dụng [thể hiện. json[]]
15ứng dụng. get["/", hàm async [yêu cầu, phản hồi] {
17 const [kết quả] = đang chờ getAllEmployees[]
18 phản hồi. gửi[{ thành công. đúng, kết quả }]
20 phản hồi. trạng thái[500]. gửi[{
27ứng dụng. được["/. id", chức năng không đồng bộ [yêu cầu, phản hồi] {
28 const { id } = yêu cầu. thông số
30 const [kết quả] = đang chờ getEmployee[id]
32 phản hồi. gửi[{ thành công. đúng, kết quả. kết quả[0] }]
34 phản hồi. trạng thái[404]. gửi[{
lỗi 36. `Không tìm thấy nhân viên nào có id ${id}`,
40 phản hồi. trạng thái[500]. gửi[{
47ứng dụng. post["/", hàm async [yêu cầu, phản hồi] {
49 const {tên, bộ phận, địa chỉ} = yêu cầu. thân thể
50 const [kết quả] = đang chờ addEmployee[tên, bộ phận, địa chỉ]
52 const [dữ liệu] = đang chờ getEmployee[kết quả. chènId]
53 phản hồi. gửi[{ thành công. đúng, kết quả. dữ liệu[0] }]
55 phản hồi. trạng thái[500]. gửi[{
61 phản hồi. trạng thái[500]. gửi[{
68ứng dụng. đặt["/. id", chức năng không đồng bộ [yêu cầu, phản hồi] {
70 const {địa chỉ} = yêu cầu. thân thể
71 const { id } = yêu cầu. thông số
72 const [kết quả] = đang chờ updateAddress[id, address]
73 nếu [kết quả. bị ảnh hưởngRows > 0] {
74 const [dữ liệu] = đang chờ getEmployee[id]
75 hồi đáp. gửi[{ thành công. đúng, kết quả. dữ liệu[0] }]
77 hồi đáp. trạng thái[400]. gửi[{
84 phản hồi. trạng thái[500]. gửi[{
91ứng dụng. xóa bỏ["/. id", chức năng không đồng bộ [yêu cầu, phản hồi] {
93 const { id } = yêu cầu. thông số
94 const [kết quả] = đang chờ xóaEmployee[id]
95 nếu [kết quả. bị ảnh hưởngRows > 0] {
96 phản hồi. gửi[{ thành công. thật }]
98 phản hồi. trạng thái[400]. gửi[{
105 phản hồi. trạng thái[500]. gửi[{
Khái niệm cơ bản về xây dựng API Express RESTful kết nối với cơ sở dữ liệu MySQL để truy vấn và thao tác dữ liệu
Tôi vẫn thích viết các bài viết giúp các nhà phát triển mới bắt đầu viết mã. Qua nhiều năm, tôi đã thu thập được rất nhiều kinh nghiệm trong các lĩnh vực khác nhau nhưng tôi sẽ không thể đạt được vị trí hiện tại nếu không có những kiến thức cơ bản này
1. Tạo cơ sở dữ liệu của chúng tôi và các bảng cần thiết
Có nhiều cách tiếp cận để tạo cơ sở dữ liệu, bạn có thể sử dụng công cụ GUI như PHPMyAdmin, HeidiSQL, v.v. hoặc tạo một cái qua thiết bị đầu cuối như bên dưới
a. Mở ứng dụng đầu cuối của bạn và gõ
mysql -u [username] -p
- Thay thế [tên người dùng] bằng người dùng cơ sở dữ liệu của bạn và nhấn enter. Bạn sẽ được nhắc nhập mật khẩu để truy cập MySQL shell
- Dấu nhắc
CREATE DATABASE restful_api;USE restful_api;
2 cho biết bạn đã đăng nhập vào MySQL shell
b. Sau khi được xác thực với cơ sở dữ liệu của bạn, hãy tạo cơ sở dữ liệu
Trong cùng một thiết bị đầu cuối, gõ
CREATE DATABASE restful_api;USE restful_api;
c. Tạo bảng để lưu trữ dữ liệu của chúng tôi
CREATE TABLE employees[
id INT AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR[50] NOT NULL,
lastname VARCHAR[50] NOT NULL,
phone VARCHAR[50] NOT NULL,
email VARCHAR[50] NOT NULL,
];
d. Chỉ cần thoát khỏi MySQL là chúng ta đã hoàn thành nó ngay bây giờ
exit;
2. Bootstrap ứng dụng của chúng tôi và tạo các tệp cần thiết
Mở terminal và điều hướng vào thư mục restful_api trong trường hợp bạn chưa ở đó và chạy các lệnh bên dưới
a. Khởi tạo npm và cài đặt các module cần thiết. cho dự án này
touch index.js .envnpm init -ynpm i express mysql dotenv --savenpm i nodemon --save-dev
b. Bây giờ chúng tôi viết một số mã
Mở dự án trong VSCode và mở của chúng tôi. env và thêm mã bên dưới
DB_DATABASE=restful_api
DB_USERNAME=root
DB_PASSWORD=12345678
DB_HOST=localhost
PORT=3000
Mở chỉ mục của chúng tôi. js và tạo một máy chủ Express cơ bản [hiện tại]
Trong mã bên dưới, chúng tôi đã tạo một API an toàn cơ bản chạy trên một cổng được xác định trong. env, Thiết lập các tuyến API mà chúng tôi sẽ sử dụng để gửi và nhận dữ liệu, thực sự không có gì quan trọng. 😎😎😎
require['dotenv'].config[];
const express = require['express'];
const app = express[];const PORT = process.env.PORT;//Our Database Config
const DB_HOST = process.env.DB_HOST;
const DB_DATABASE = process.env.DB_DATABASE;
const DB_USERNAME = process.env.DB_USERNAME;
const DB_PASSWORD = process.env.DB_PASSWORD;//Get all employees from the database
app.get['employees', function [req, res] {}];//Add new empoyee to the database
app.post['employees', function [req, res] {}];//Get single employee by id from the database
app.get['employees/details/:id', function [req, res] {}];//Update single employee by id from the database
app.put['employees/update/:id', function [req, res] {}];//Delete single employee by id from the database
app.delete['employees/delete/:id', function [req, res] {}];app.listen[PORT, function[] {
console.log['Restful API is running on PORT 3000'];
}];
Sau khi gõ tất cả, 😩😩😩 lưu chỉ mục của bạn. tập tin js
Bây giờ, hãy chạy chương trình này để đảm bảo rằng chúng tôi không mắc bất kỳ lỗi nào. 👌
mở gói. json trong thư mục gốc của dự án của bạn và thực hiện các sửa đổi đối với phần tập lệnh bắt đầu như bên dưới
________số 8Lưu các thay đổi của bạn và mở terminal và chạy
npm run start:dev
Lệnh này sẽ khởi động máy chủ cấp tốc của chúng tôi bằng gật đầu và tự động khởi động lại bất cứ khi nào chúng tôi thực hiện thay đổi đối với các tệp của mình. Rất tiện dụng đúng không?
Máy chủ Express của bạn sẽ được thiết lập và chạy ngay bây giờ
3. Bây giờ hãy kết nối với cơ sở dữ liệu, truy vấn một số dữ liệu
a. Chúng ta cần sử dụng require MySQL như hình bên dưới
CREATE DATABASE restful_api;USE restful_api;0
b. Sau phần cấu hình cơ sở dữ liệu trong mã của chúng tôi, chúng tôi cần tạo kết nối với cơ sở dữ liệu như hình dưới đây
CREATE DATABASE restful_api;USE restful_api;0
c. Bây giờ chúng ta đã có kết nối để sử dụng 🥳🥳🥳. Hãy sửa đổi gốc của chúng tôi để thêm một nhân viên mới vào cơ sở dữ liệu của chúng tôi
d. Tốt, bây giờ thực sự nhanh, hãy mở Postman và kiểm tra điều này. Nhập dữ liệu như hình bên dưới và nhấn nút gửi
Kiểm tra xem dữ liệu có hiển thị trong cơ sở dữ liệu của bạn không. Nếu tất cả các hướng dẫn đã được làm theo cho đến thời điểm này, thì bạn sẽ thấy dữ liệu của mình trong cơ sở dữ liệu
Chỉ cần kết nối với cơ sở dữ liệu của bạn thông qua trình bao MySQL trong thiết bị đầu cuối và nhập
CREATE DATABASE restful_api;USE restful_api;1
Điều này sẽ trả lại một cái gì đó như 👇👇👇👇
e. Bây giờ chúng tôi lấy tất cả các nhân viên. Chỉ cần sửa đổi lộ trình nhận nhân viên như bên dưới
Mở lại Postman và kiểm tra để đảm bảo mọi thứ hoạt động như mong đợi
Lấy tất cả hồ sơ nhân viên từ cơ sở dữ liệu
Nếu bạn đã đi xa đến mức này. Hoan hô 🎉🎈🥳. Bây giờ bạn đã biết cách truy vấn và thực hiện các thao tác chèn vào MySQL bằng Nút. js Dịch vụ yên tĩnh
Để ngắn gọn, tôi sẽ dừng ở đây tuy nhiên vẫn còn rất nhiều điều để thảo luận
- Nhận bản ghi duy nhất
- Cập nhật một bản ghi duy nhất
- Thực hiện cập nhật hàng loạt
- Trả về danh sách dữ liệu được phân trang
- Thêm bộ nhớ đệm với Redis
- Triển khai API đến máy chủ
- Chức năng tìm kiếm với tìm kiếm đàn hồi
Hãy cho tôi biết trong nhận xét của bạn nếu bạn thấy điều này cực kỳ hữu ích, hãy theo dõi, nhận xét, chia sẻ các cải tiến và về cơ bản hãy cho tôi biết nếu bạn gặp bất kỳ sự cố nào. Tôi rất sẵn lòng hướng dẫn bạn
Hiện tại Adios 👋🏽👋🏽👋🏽👋🏽
Thêm nội dung tại PlainEnglish. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Theo dõi chúng tôi trên Twitter và LinkedIn. Tham gia cộng đồng của chúng tôi