MEAN.JS - API REST
Trong chương này, chúng ta sẽ thấy ứng dụng của chúng ta tương tác thông qua API REST với cơ sở dữ liệu của chúng ta bằng cách sử dụng các phương thức HTTP. Thuật ngữ REST là viết tắt của REpresentational State Transfer, là một kiểu kiến trúc được thiết kế để giao tiếp với các dịch vụ web và API là viết tắt của Application Program Interface cho phép các ứng dụng tương tác với nhau.
Đầu tiên, chúng tôi sẽ tạo RESTful API để lấy tất cả các mục, tạo mục và xóa một mục. Đối với mỗi mục, _id sẽ được tạo tự động bởi MongoDB. Bảng dưới đây mô tả cách ứng dụng sẽ yêu cầu dữ liệu từ API -
Phương thức HTTP | Đường dẫn URL | Sự miêu tả |
---|---|---|
ĐƯỢC | /api/students |
Nó được sử dụng để lấy tất cả các sinh viên từ bộ sưu tập Sinh viên. |
BÀI ĐĂNG | /api/students/send |
Nó được sử dụng để tạo một bản ghi sinh viên trong bộ sưu tập Sinh viên. |
XÓA BỎ | /api/students/student_id |
Nó được sử dụng để xóa hồ sơ sinh viên khỏi bộ sưu tập Sinh viên. |
Các tuyến API RESTful
Đầu tiên chúng ta sẽ thảo luận về Phương pháp Đăng trong Các tuyến API RESTful.
BÀI ĐĂNG
Đầu tiên, hãy tạo một bản ghi trong bộ sưu tập Sinh viên thông qua API REST của chúng tôi. Mã cho trường hợp cụ thể này có thể được tìm thấy trong tệp server.js . Để tham khảo, một phần mã được dán ở đây -
app.post('/api/students/send', function (req, res) {
var student = new Student(); // create a new instance of the student model
student.name = req.body.name; // set the student name (comes from the request)
student.save(function(err) {
if (err)
res.send(err);
res.json({ message: 'student created!' });
});
});
Chấp hành
Bạn có thể tải xuống mã nguồn cho ứng dụng này trong liên kết này . Tải xuống tệp zip; giải nén nó trong hệ thống của bạn. Mở thiết bị đầu cuối và chạy lệnh dưới đây để cài đặt các phụ thuộc mô-đun npm.
$ cd mean-demon-consuming_rest_api
$ npm install
Để phân tích cú pháp yêu cầu, chúng ta cần gói phân tích cú pháp nội dung. Do đó, hãy chạy lệnh dưới đây để đưa vào ứng dụng của bạn.
npm install --save body-parser
Mã nguồn đính kèm đã có sự phụ thuộc này, do đó không cần chạy lệnh trên, nó chỉ dành cho thông tin của bạn.
Để chạy ứng dụng, hãy điều hướng đến thư mục dự án mới được tạo của bạn và chạy bằng lệnh dưới đây:
npm start
Bạn sẽ nhận được xác nhận như trong hình dưới đây -
Có nhiều công cụ để kiểm tra các lệnh gọi API, ở đây chúng tôi đang sử dụng một trong những tiện ích mở rộng thân thiện với người dùng dành cho Chrome có tên là Postman REST Client .
Mở Ứng dụng khách Postman REST, nhập URL là http://localhost:3000/api/students/send, chọn phương thức ĐĂNG . Tiếp theo, nhập dữ liệu yêu cầu như hình dưới đây -
Lưu ý rằng chúng tôi đang gửi dữ liệu tên dưới dạng x-www-form-urlencoded . Điều này sẽ gửi tất cả dữ liệu của chúng tôi đến máy chủ Node dưới dạng chuỗi truy vấn.
Bấm vào nút Gửi để tạo hồ sơ học sinh. Thông báo thành công sẽ xuất hiện như hình dưới đây -
ĐƯỢC
Tiếp theo, hãy lấy tất cả hồ sơ học sinh từ mongodb. Lộ trình sau cần phải được viết. Bạn có thể tìm thấy mã đầy đủ trong tệp server.js .
app.get('/api/students', function(req, res) {
// use mongoose to get all students in the database
Student.find(function(err, students) {
// if there is an error retrieving, send the error.
// nothing after res.send(err) will execute
if (err)
res.send(err);
res.json(students); // return all students in JSON format
});
});
Tiếp theo, mở Ứng dụng khách Postman REST, nhập URL là
http://localhost:3000/api/students, chọn phương thức GET và bấm vào nút Gửi để nhận tất cả học sinh.
XÓA BỎ
Tiếp theo, hãy xem cách xóa bản ghi khỏi bộ sưu tập mongo của chúng tôi thông qua lệnh gọi api REST.
Lộ trình sau cần phải được viết. Bạn có thể tìm thấy mã đầy đủ trong tệp server.js .
app.delete('/api/students/:student_id', function (req, res) {
Student.remove({
_id: req.params.student_id
}, function(err, bear) {
if (err)
res.send(err);
res.json({ message: 'Successfully deleted' });
});
});
Tiếp theo, mở Ứng dụng khách Postman REST, nhập URL là
http://localhost:3000/api/students/5d1492fa74f1771faa61146d
(ở đây 5d1492fa74f1771faa61146d là bản ghi mà chúng tôi sẽ xóa khỏi bộ sưu tập Sinh viên).
Chọn phương pháp XÓA và nhấp vào nút Gửi để nhận tất cả học sinh.
Bạn có thể kiểm tra MongoDB để tìm dữ liệu đã xóa bằng cách gọi GET tới http://localhost:3000/api/students/5d1492fa74f1771faa61146d.