REST API (Representational State Transfer Application Programming Interface) là một phương thức lập trình cho phép các ứng dụng giao tiếp với nhau qua mạng. Khi các ứng dụng giao tiếp với nhau qua REST API, chúng ta có thể gửi và nhận dữ liệu một cách dễ dàng và nhanh chóng. Trong bài viết này, chúng ta sẽ học cách tạo một REST API với Node.js và MongoDB.
Node.js là một nền tảng lập trình cho phép các lập trình viên sử dụng JavaScript để phát triển web applications. MongoDB là một hệ thống quản lý cơ sở dữ liệu phi quan hệ (NoSQL) được phát triển bởi MongoDB Inc. MongoDB lưu trữ dữ liệu ở định dạng JSON-like và cho phép lập trình viên truy xuất dữ liệu một cách dễ dàng.
Bước 1: Cài đặt Node.js và MongoDB
Để bắt đầu phát triển REST API với Node.js và MongoDB, ta cần cài đặt Node.js và MongoDB lên máy tính của mình.
Bước 2: Tạo một project mới
Sử dụng lệnh sau để tạo một project mới và cài đặt các module cần thiết:
```javascript
npm init
npm install express mongoose body-parser --save
```
Trong đó:
- `npm init` được sử dụng để khởi tạo một project mới.
- `express` là một framework Node.js cho phép ta phát triển các ứng dụng web dễ dàng.
- `mongoose` là một module Node.js cho phép ta kết nối với MongoDB và thực hiện các thao tác CRUD (Create, Read, Update và Delete).
- `body-parser` là một module Node.js cho phép ta đọc dữ liệu được gửi đến từ phía client.
Bước 3: Kết nối với MongoDB
Sau khi đã cài đặt các module cần thiết, ta cần kết nối với MongoDB bằng cách sử dụng các thông tin như hostname, port, database name, username và password. Ta có thể tạo một file `config.js` để lưu các thông tin này và sử dụng module `mongoose` để kết nối với MongoDB như sau:
```javascript
const mongoose = require('mongoose');
const config = require('./config');
mongoose.connect(`mongodb://${config.host}:${config.port}/${config.database}`, {
useNewUrlParser: true,
useUnifiedTopology: true
}, err => {
if (err) {
throw err;
}
console.log('Connected to MongoDB successfully.');
});
```
Bước 4: Tạo các models cho MongoDB
Để lưu trữ dữ liệu trong MongoDB, ta cần tạo các models cho dữ liệu đó. Một model trong MongoDB được định nghĩa bằng cách sử dụng module `mongoose` và có thể được tạo bằng cách sử dụng các schema. Ví dụ, ta có thể tạo một model `User` như sau:
```javascript
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
}
});
module.exports = mongoose.model('User', UserSchema);
```
Trong đó, `UserSchema` là một schema định nghĩa các thuộc tính của `User`, bao gồm `name`, `email` và `password`.
Bước 5: Tạo các routes
Tiếp theo, ta cần tạo các routes cho REST API của mình. Ví dụ, ta có thể tạo route GET để lấy danh sách các user như sau:
```javascript
const express = require('express');
const router = express.Router();
const User = require('../models/User');
// Get all users
router.get('/', (req, res) => {
User.find((err, users) => {
if (err) {
res.status(500).send(err);
} else {
res.send(users);
}
});
});
module.exports = router;
```
Bước 6: Tạo các controllers
Sau khi đã xác định các routes, ta cần tạo các controllers để thực hiện các thao tác với database. Ví dụ, ta có thể tạo một controller để thêm một user mới như sau:
```javascript
const User = require('../models/User');
// Add new user
exports.addUser = (req, res) => {
let user = new User({
name: req.body.name,
email: req.body.email,
password: req.body.password
});
user.save(err => {
if (err) {
res.status(500).send(err);
} else {
res.send(user);
}
});
};
```
Bước 7: Kết hợp routes và controllers
Cuối cùng, ta cần kết hợp các routes và controllers lại với nhau để tạo ra một REST API hoàn chỉnh. Ví dụ, ta có thể sử dụng router để đăng ký các routes và sử dụng controller tương ứng với từng route như sau:
```javascript
const express = require('express');
const router = express.Router();
const UserController = require('../controllers/UserController');
// Get all users
router.get('/', UserController.getAllUsers);
// Add new user
router.post('/', UserController.addUser);
module.exports = router;
```
Bằng cách thực hiện những bước trên, chúng ta đã hoàn thành việc tạo một REST API đơn giản với Node.js và MongoDB. Chúng ta có thể tùy chỉnh dự án của mình bằng cách thêm các routes và controllers mới và sử dụng các schema khác để định nghĩa các models. REST API này có thể được sử dụng để lưu trữ và truy xuất dữ liệu cho một ứng dụng web hoặc mobile của chúng ta.
- Mật khẩu giải nén: tailieuhay.download (nếu có)
- Xem thêm các tài liệu về
NƯỚC NGOÀI tại ĐÂY
- Xem thêm các tài liệu về
UDEMY tại ĐÂY