Usenewurlparser là gì
Hôm nay mình sẽ hường dẫn các bạn xây dựng một Restful CRUD API với nodejs, express và mongodb. API (application
programming interface) là giao diện dùng để tương tác giữa ứng dụng này với ứng dụng khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML. Facebook, google là hai ứng dụng khá quen thuộc. Nó có những API riêng để cho chúng ta sử dụng để nó có thể lấy được thông tin của người dùng. REST là từ viết tắt cho REpresentational State Transfer. REST không phải là một chuẩn hay một giao thức mà nó là một kiểu
kiến trúc để viết API. Một web service là một tập hợp các giao thức và được sử dụng cho mục đích trao đổi giữa ứng dụng và hệ thống. Web service dựa trên các kiến trúc REST được biết như RESTful webservice . Những webservice này sử dụng phương thức HTTP để triển khai các định nghĩa kiến trúc REST. RESTful API là một tiêu chuẩn dùng trong việc thết kế các API cho các ứng dụng web để quản lý các resource(tài nguyên). RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến nhất
ngày nay. Trọng tâm của REST quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE...) và cách định dạng các URL cho ứng dụng web để quản lý các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng. GET: lấy dữ liệu Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa. Mỗi phương thức trên phải được API gọi thông qua để gửi chỉ thị cho server phải làm gì. Thì bài viết này
mình viết nhằm mục đích là hướng dẫn các bạn viết một RESTful API. Và giới thiệu RESTful API là gì? Bắt Đầu Thôi NàoCài Đặt Và Thiết LậpTrước tiên các bạn tạo cho mình một folder trong folder đó là nơi chứa các thư mục và chương trình mà chúng ta viết cho các API.
Bắt Đầu Code Thôi NàoThiết lập Web ServerTrong file app.js các bạn bỏ cho mình router user và tạo cổng port cho web server. Trong folder routes các bạn cũng bỏ cho mình file user.js nha, đó là các file mặc định khi mình chạy
Trong thư mục router có file index.js, các bạn tạo cho nó một Route handlers và thử chạy sever xem sau. Mục đích để các bạn test thử server có chạy không nha.
Thiết Lập DatabaseCài đặt mongodb download tại đây, các bạn tạo cho mình một file .env. Trong file này các bạn tạo cho mình một đường dẫn Định Nghĩa Schema TodoList Trong MongooseCác bạn tạo cho mình thư mục modal bên trong thư mục gốc của ứng dụng.
Trong file todo.modal.js chúng ta sẽ khai báo module mongoose và chúng ta sẽ tạo cho nó một schema để chứa fields todolist. Định Nghĩa Router Cho TodoListTrong file index.js nằm bên trong thư mục routes, tạo các phương thức để xử lý các hoạt động CRUD. Các bạn khai báo cho mình modal của Todo List nha. Tạo Và Lưu Các Todo ListCũng trong file index.js thì các bạn tạo cho mình phương thức Post(gửi dữ liệu từ client lên server). Nó sẽ tạo một object rộng, chứa các todo list được truyền vào. Rồi lưu nó vào database đã được khởi tạo.
Đọc Tất Cả Các Todo ListCũng tương tự như ở trên mà thay đổi ở chỗ là thay Get bằng Post thôi. Thì khi sử dụng get(đọc dữ liệu từ server trả về cho client). Chúng ta sẽ tìm trong database todolist có bao nhiêu dữ liệu thì sẽ trả về bấy nhiêu dữ liệu mà tìm được trong database.
Đọc Một Todo ListThì ở trên của chúng ta là trả về tất cả các todo list thì bây giờ chúng ta sẽ trả về 1 todo list mà thôi. Chúng ta cũng sử dụng phương thức Get để đọc dữ liệu về mà thôi, nhưng khác ở chỗ là chỉ đọc 1 todo list mà mỗi todo list khi được tạo thì sẽ có một id riêng chúng ta sẽ dựa vào id để Get dữ liệu của từng todo list nha. Ví dụ: Khi chúng ta Get/121312(id) thì nó sẽ tìm todo list trong database có id nào mà giống id mà router đã get không. Nếu giống thì sẽ trả về kết quả dưới dạng json, còn không giống thì sẽ log ra lỗi.
Cập Nhật Các Todo ListMuốn cập nhật todo list các bạn sử dụng method Put nhé, thì Put có nghĩa là ghi đè(toàn bộ) hoặc tạo mới 1 resource(tài nguyên). Thì cách hoạt động của thằng này cũng dựa trên id mà thôi.
Xóa Các Todo ListThì xóa nó cũng tương tự như cập nhật thôi nhưng khác ở chỗ cập nhật là Put còn xóa là Delete. Thì phương thức xóa nó cũng dựa vào id mà xóa, nó cũng tìm id của todo list nào trong database trùng với id mà router đã delete. Nếu trùng thì xóa còn không thì log ra lỗi.
Test Các RESTful APIMuốn test các RESTful API thì chúng ta sử dụng postman nha. Tạo Và Lưu Các Todo List Sử Dụng Post / APIVà các bạn có thể tự tạo cho mình những todo list mới nha. Các bạn xem thử trong database đã thêm todo list mà mình đã tạo chưa nha. Đọc Tất Cả Các Todo List Sử Dụng Get / APIĐọc Một Todo List Sử Dụng Get /:id APICập Nhật Todo List Sử Dụng Put /:id APIĐể biết nó có thay đổi hay không các bạn sử dụng Xóa Todo List Sử Dụng Delete /:id APIĐể xem nó đã xóa hay chưa các bạn sử dụng Vậy là xong rồi nha, các bạn có thể tham khảo code mà mình đã push lên github tại đây nha Lời KếtVậy Là Xong bài Hướng Dẫn Xây Dựng RETSful CRUD API Với NodeJS, Express và MongoDB rồi nhé. Mình mong muốn sau bài topic này các bạn có thể nắm vững thêm về NodeJS, Express và MongoDB và biết thêm cũng như hiểu rõ hơn về RESTful API. Nếu các bạn cảm thấy bài viết của mình hay thì các bạn có thể ủng hộ mình để mình có thêm động lực để ra những bài topic hay và chất lượng hơn ủng hộ mình tại đây nha. Chúc Các Bạn Thành Công!! |