API ví dụ về Nodejs

Trong bài viết này, chúng ta sẽ xây dựng API RESTful bằng Node, Express và MongoDB. Chúng tôi sẽ tạo các điểm cuối để tạo dữ liệu, đọc dữ liệu, cập nhật dữ liệu và xóa dữ liệu (các thao tác CRUD cơ bản)

Nhưng trước khi chúng tôi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt Node trong hệ thống của mình. Nếu không, hãy truy cập https. //nodejs. org/en/download/ để tải về và cài đặt

Trước tiên hãy thực hiện thiết lập cơ bản

Trong một thư mục trống, hãy chạy lệnh sau

npm init

Lệnh này sẽ hỏi bạn các chi tiết khác nhau, chẳng hạn như tên dự án của bạn, tác giả, kho lưu trữ, v.v. Sau đó, nó sẽ tạo ra một gói. json trong thư mục đó

API ví dụ về Nodejs
{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
gói hàng. tập tin json

Gói này. json sẽ chứa tất cả các tập lệnh, chẳng hạn như cách chạy ứng dụng hoặc cách kiểm tra ứng dụng, cũng như tất cả các phần phụ thuộc

Bây giờ chúng ta cần cài đặt một vài phụ thuộc

npm i express mongoose nodemon dotenv

Đây,

  1. Express sẽ được sử dụng cho phần mềm trung gian để tạo các điểm cuối CRUD khác nhau
  2. Mongoose để quản lý dữ liệu trong MongoDB bằng nhiều truy vấn khác nhau
  3. Nodemon để khởi động lại máy chủ của bạn mỗi khi chúng tôi lưu tệp của bạn
  4. Dotenv để quản lý một. tập tin env

Vì vậy, hãy tiếp tục và cài đặt chúng

Sau khi cài đặt xong tạo 1 file tên là index. js. Đây sẽ là điểm vào cho ứng dụng của chúng tôi

Và trong tệp này, hãy thêm Express và Mongoose và chạy tệp

const express = require('express');
const mongoose = require('mongoose');

Bây giờ, hãy chuyển nội dung của Express sang một hằng số mới có tên là ứng dụng

const express = require('express');
const mongoose = require('mongoose');

const app = express();

Bây giờ, hãy lắng nghe những thay đổi của tệp này trên cổng 3000

const express = require('express');
const mongoose = require('mongoose');

const app = express();

app.use(express.json());

app.listen(3000, () => {
    console.log(`Server Started at ${3000}`)
})

Bây giờ, máy chủ được đặt trên Cổng 3000. Hãy viết kịch bản để bắt đầu máy chủ của chúng tôi. Chúng tôi cũng đã thêm ứng dụng. sử dụng. Bên trong đó, chúng tôi có một đoạn mã cho phép chúng tôi chấp nhận dữ liệu ở định dạng JSON

Trong gói. json của bạn, hãy thêm một tập lệnh có nội dung như sau

"scripts": {
    "start": "nodemon index.js"
},

Điều này có nghĩa là chúng ta có thể khởi động máy chủ của mình bằng npm start và nó sẽ chạy bằng gói Nodemon mà chúng ta đã cài đặt trước đó

Nhập npm start trong terminal và chúng ta sẽ thấy đầu ra sau trong terminal

API ví dụ về Nodejs

Cách định cấu hình cơ sở dữ liệu MongoDB

Bây giờ, hãy định cấu hình Cơ sở dữ liệu mongoDB. Truy cập https. //tài khoản. mongodb. com/account/login và tạo tài khoản của bạn hoặc đăng nhập nếu bạn đã có tài khoản

Sau khi đăng nhập, chúng ta phải tạo một cơ sở dữ liệu

API ví dụ về Nodejs

Vì vậy, hãy tạo một cụm chia sẻ miễn phí

Nó sẽ hỏi bạn tên người dùng và mật khẩu, vì vậy hãy điền chúng vào

API ví dụ về Nodejs

Sau đó, thêm Địa chỉ IP của bạn

API ví dụ về Nodejs

Nhấp vào Kết thúc và Đóng

Sẽ mất một thời gian để cụm của chúng tôi hoàn thành, vì vậy hãy đợi. Trong khi đó, tạo một tệp có tên. env trong thư mục dự án

Và trong Trang chủ cụm, nhấp vào nút kết nối

API ví dụ về Nodejs

Cửa sổ sau sẽ xuất hiện

API ví dụ về Nodejs

Nhấp vào MongoDB Compass và nó sẽ trả về chuỗi sau. Ngoài ra, hãy tải xuống và cài đặt MongoDB Compass

API ví dụ về Nodejs

Thêm tên người dùng và mật khẩu của bạn vào chuỗi này mà bạn đã sử dụng trước đây. Chuỗi kết nối cuối cùng sẽ trông giống như thế này

mongodb+srv://nishant:********@cluster0.xduyh.mongodb.net/testDatabase

Ở đây, nishant là tên người dùng, theo sau là mật khẩu và cuối cùng là tên cơ sở dữ liệu

Vì vậy, dán chuỗi này vào. tập tin env

________số 8

Bây giờ trong MongoDB Compass, hãy thêm cả chuỗi này

API ví dụ về Nodejs

Sau đó, nhấp vào Kết nối

Ở đây, chúng tôi sẽ nhận được hai Cơ sở dữ liệu được mặc định. Cái thứ ba sẽ được tạo tự động sau

API ví dụ về Nodejs

Bây giờ, hãy nhập nội dung của chúng tôi. env trong tệp script, chỉ mục. js

require('dotenv').config();

const mongoString = process.env.DATABASE_URL

Ở đây, chúng tôi đang lưu trữ chuỗi vào một biến gọi là mongoString

Bây giờ, hãy kết nối cơ sở dữ liệu với máy chủ của chúng tôi bằng Mongoose

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
0

Bây giờ, chúng ta phải đưa ra thông báo thành công hoặc lỗi tùy thuộc vào việc kết nối cơ sở dữ liệu của chúng ta thành công hay thất bại

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
1

Tại đây, cơ sở dữ liệu. bật có nghĩa là nó sẽ kết nối với cơ sở dữ liệu và đưa ra bất kỳ lỗi nào nếu kết nối không thành công. Và cơ sở dữ liệu. một lần có nghĩa là nó sẽ chỉ chạy một lần. Nếu thành công sẽ hiện thông báo Database Connected

API ví dụ về Nodejs

Đây là toàn bộ mã cho đến thời điểm này

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
2

Cách tạo các tuyến đường của chúng tôi cho các điểm cuối

Tạo một thư mục có tên là các tuyến đường và bên trong tạo một tệp có tên là các tuyến đường. js

Nhập tệp này vào tệp tập lệnh chính của chúng tôi, chỉ mục. js

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
3

Ngoài ra, hãy sử dụng tệp tuyến đường này

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
4

Đây, ứng dụng này. sử dụng mất hai điều. Một là điểm cuối cơ sở và điểm kia là nội dung của các tuyến đường. Bây giờ, tất cả các điểm cuối của chúng tôi sẽ bắt đầu từ '/api'

Chúng tôi sẽ gặp lỗi vì chúng tôi không có bất kỳ thứ gì bên trong tệp tuyến đường. Vì vậy, hãy thêm chúng

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
5

Ở đây, chúng tôi đang sử dụng Bộ định tuyến từ Express và chúng tôi cũng đang xuất nó bằng mô-đun. xuất khẩu. Và bây giờ, ứng dụng của chúng tôi sẽ hoạt động tốt

Cách viết Điểm cuối của chúng tôi

Bây giờ, hãy viết các điểm cuối của chúng tôi ở đây trong tệp tuyến đường này. Chúng tôi sẽ có năm lộ trình cho các hành động sau

  1. Đăng dữ liệu lên Cơ sở dữ liệu
  2. Lấy tất cả dữ liệu từ Cơ sở dữ liệu
  3. Lấy dữ liệu dựa trên ID
  4. Cập nhật dữ liệu dựa trên ID
  5. Xóa dữ liệu dựa trên ID

Vì vậy, hãy tạo các tuyến đường cho những hành động này

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
6

Chúng tôi có năm phương thức sử dụng Phương thức REST của Đăng, Nhận, Vá và Xóa

Bộ định tuyến này đang lấy tuyến đường làm tham số đầu tiên. Sau đó, trong tham số thứ hai, nó sẽ gọi lại

Trong cuộc gọi lại, chúng tôi có res và req. res có nghĩa là phản hồi và req có nghĩa là yêu cầu. Chúng tôi sử dụng độ phân giải để gửi phản hồi cho ứng dụng khách của mình, như Postman hoặc bất kỳ ứng dụng khách giao diện người dùng nào. Và chúng tôi sử dụng req để nhận yêu cầu từ ứng dụng khách như Postman hoặc bất kỳ ứng dụng khách giao diện người dùng nào

Sau đó, trong phần thân cuộc gọi lại, chúng tôi đang in một thông báo cho biết thông báo API tương ứng

Lưu cái này và mở Postman để kiểm tra các điểm cuối. Tải xuống Postman nếu bạn không có nó. Nó là một công cụ tuyệt vời để kiểm tra các điểm cuối API

API ví dụ về Nodejs

Thêm địa chỉ này vào thanh địa chỉ, sau đó nhấp vào Gửi hoặc nhấn enter

API ví dụ về Nodejs

Chúng tôi sẽ nhận được tin nhắn này trong phần thân của Người đưa thư, bởi vì chúng tôi chỉ cần gửi Tin nhắn bằng res. gửi

Bây giờ, hãy lấy phản hồi từ ứng dụng khách. Hãy in một ID

Trước tiên chúng ta phải thay đổi chức năng getOne. Chúng tôi đang nhận ID bằng cách sử dụng req. thông số. id, sau đó gửi nó đến ứng dụng khách bằng cách sử dụng res. gửi

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
7____18

Thêm điểm cuối này vào thanh địa chỉ. Ở đây, chúng tôi đang sử dụng getOne Endpoint, theo sau là ID. Sau đó, nhấp vào Gửi

API ví dụ về Nodejs

Chúng tôi sẽ nhận được ID trong nội dung phản hồi trong Postman

Cách tạo mô hình

Bây giờ, hãy tạo một Mô hình sẽ xác định cấu trúc cơ sở dữ liệu của chúng ta

Tạo một thư mục có tên model và bên trong, một tệp có tên model. js

{
  "name": "rest-api-express-mongo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
9

Ở đây, chúng tôi có một lược đồ xác định cấu trúc cơ sở dữ liệu của chúng tôi. Nó có một tên và một thuộc tính tuổi. Cả hai trường đều có loại và cả hai đều bắt buộc

Sau đó, chúng tôi chỉ đơn giản là xuất mô hình lược đồ

Bây giờ, nhập mô hình này bên trong các tuyến đường. tập tin js

npm i express mongoose nodemon dotenv
0

Cách đăng dữ liệu lên cơ sở dữ liệu

Hãy tạo phần thân dữ liệu để đăng bằng mô hình mà chúng ta vừa tạo

npm i express mongoose nodemon dotenv
1

Tên và tuổi của chúng tôi đang chấp nhận tên và tuổi từ cơ thể yêu cầu. Chúng tôi lấy dữ liệu này từ ứng dụng khách như Postman hoặc bất kỳ ứng dụng khách nào như React hoặc Angular

Chúng tôi cũng sẽ tạo một khối thử bắt để xử lý các thông báo thành công và lỗi

npm i express mongoose nodemon dotenv
2

Trong khối thử, chúng tôi đang lưu dữ liệu bằng dữ liệu. tiết kiệm(). Sau đó, chúng tôi đang lưu trữ dữ liệu trong một const được gọi là dataToSave

Chúng tôi cũng đang gửi thông báo thành công với dữ liệu trong nội dung phản hồi

Và trong khối bắt, chúng tôi sẽ nhận được bất kỳ lỗi nào nếu chúng tôi gặp bất kỳ lỗi nào

npm i express mongoose nodemon dotenv
3

Bây giờ, hãy thêm một số dữ liệu từ Postman. Nhưng trước đó, chức năng này cần phải không đồng bộ để hoạt động. Vì vậy, chúng tôi sẽ sử dụng async-await

npm i express mongoose nodemon dotenv
4

Nếu chúng tôi thêm dữ liệu vào phần nội dung và nhấp vào Gửi, chúng tôi sẽ nhận được như sau

API ví dụ về Nodejs

Nó cũng tạo ra một ID duy nhất. Mở ứng dụng MongoDB Compass, bạn sẽ thấy cơ sở dữ liệu và bản ghi này bạn vừa tạo

API ví dụ về Nodejs

Cách lấy tất cả dữ liệu

Lấy dữ liệu cũng đơn giản. Chỉ cần một vài dòng mã

npm i express mongoose nodemon dotenv
5

Ở đây, chúng tôi đang sử dụng Model. tìm phương thức để lấy tất cả dữ liệu từ cơ sở dữ liệu. Sau đó, chúng tôi sẽ trả lại nó ở định dạng JSON. Nếu chúng tôi có một lỗi, chúng tôi cũng sẽ nhận được điều đó

API ví dụ về Nodejs

Nếu chúng ta gọi điểm cuối này trong Postman, chúng ta sẽ nhận được một mảng các đối tượng trong phần thân của Postman

Cách lấy dữ liệu dựa trên ID

Cái này cũng đơn giản. Chúng tôi chỉ cần chuyển ID của tài liệu, đó là yêu cầu. thông số. id, trong một phương thức gọi là findById

npm i express mongoose nodemon dotenv
6

Nếu chúng tôi nhấp vào Gửi, chúng tôi sẽ nhận được dữ liệu dựa trên ID

API ví dụ về Nodejs

Cách cập nhật và xóa dữ liệu dựa trên ID

Trước tiên, hãy nhắm mục tiêu phương pháp cập nhật bằng phương pháp vá lỗi

npm i express mongoose nodemon dotenv
7

Ở đây, chúng tôi có ba tham số mà chúng tôi sẽ chuyển vào phương thức findByIdAndUpdate mà chúng tôi sử dụng để tìm tài liệu theo ID và cập nhật tài liệu đó

yêu cầu. thông số. id là const id, updatedData chứa req. phần thân và các tùy chọn chỉ định có trả lại dữ liệu đã cập nhật trong phần thân hay không

Hãy thử nghiệm nó ngay bây giờ. Chỉ cần dán ID của một tài liệu cụ thể và nhấp vào Gửi. Thay đổi cả điểm cuối

API ví dụ về Nodejs

Chúng tôi đang cập nhật bằng một ID và nó đang được cập nhật

Xóa cũng đơn giản. Hãy thực hiện nó

npm i express mongoose nodemon dotenv
8

Chúng tôi đang lấy ID ở đây và sau đó chúng tôi đang sử dụng Model. findByIdAndDelete để xóa trường đó, trong khi chuyển id

Chúng tôi đang lưu trữ dữ liệu cập nhật trong dữ liệu const

Trong phản hồi, chúng tôi sẽ nhận được thông báo rằng tài liệu có tên cụ thể đã bị xóa

Nếu chúng tôi kiểm tra điều này, chúng tôi sẽ nhận được như sau

API ví dụ về Nodejs

Như vậy là xong cả 5 phương pháp. Chúng tôi có thể Đăng dữ liệu và Nhận tất cả dữ liệu (cũng dựa trên ID). Chúng tôi cũng có thể Cập nhật chúng và Xóa chúng

Cảm ơn bạn đã đọc

Trong bài viết này, bạn đã tìm hiểu tất cả về cách thiết kế và phát triển API RESTful bằng Node, Express và MongoDB

Giờ đây, bạn có thể sử dụng các điểm cuối này để xây dựng ứng dụng Full-Stack, với Vanilla JavaScript, React, Angular, Next hoặc Vue. js

Bạn cũng có thể xem video của tôi về cùng chủ đề, API RESTful - Xây dựng API RESTful bằng Node, Express và MongoDB

Vui lòng tải xuống mã từ Github và thử nghiệm

học tập vui vẻ

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


API ví dụ về Nodejs
Nishant Kumar

Tôi xây dựng các dự án để tìm hiểu cách hoạt động của mã. Và trong khi tôi không viết mã, tôi thích viết thơ và kể chuyện, chơi piano và nấu những bữa ăn ngon


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để sử dụng API trong nodejs?

Bước 1. Tạo các thư mục cần thiết. Bước đầu tiên liên quan đến việc xây dựng Node js REST API yêu cầu bạn tạo các thư mục chứa mã cho Node js REST API. .
Bước 2. Tạo API Express cho ứng dụng đầu tiên của bạn. .
Bước 3. Tạo mô-đun người dùng. .
Bước 4. Tạo mô-đun xác thực

Làm cách nào để viết API trong Node js?

dự án js. .
Bước 1. Khởi tạo nút. js. .
Bước 2. Cài đặt phụ thuộc dự án. .
Bước 3. Khởi tạo TypeScript. .
Bước 4. Thiết lập tsconfig. .
Bước 5. sửa đổi gói. .
Bước 6. Thiết lập cấu trúc ứng dụng. .
Bước 6. Khởi động máy chủ phát triển. .
Bước 7. Kiểm tra API với Postman

Nodejs có tốt cho API không?

js tất cả các tác vụ liên quan đều được thực hiện nhanh chóng. Vượt xa tốc độ nó cho phép xây dựng API có thể mở rộng và bảo mật . Thông lượng tăng của các API được xây dựng bằng nút. js thậm chí còn làm cho các ứng dụng hoạt động nhanh hơn 20 lần để tăng cường sự tương tác giữa ứng dụng và các giải pháp phần mềm khác.

Làm cách nào để gọi API REST từ nodejs?

Có một số cách để gọi API REST. Bạn có thể sử dụng API tìm nạp web , theo mặc định trong tất cả các trình duyệt web chính. Có các gói nút như axios và gói đó cho phép bạn gọi API REST bằng các phương thức HTTP khác nhau. Tất cả những cách này đều khá đơn giản và dễ sử dụng.