Questions Management – Core Question Service – Xây dựng API xoá question

Xem toàn bộ series bài viết hướng dẫn xây dựng ứng dụng Questions Management tại đây.

Trong bài viết trước, chúng ta đã chuẩn bị tất cả các cấu hình cần thiết để có thể xây dựng API xoá question như: một đối tượng document Question chứa thông tin của một question, một QuestionRepository để thao tác với MongoDB, một QuestionController định nghĩa các API của Core Question Service sẽ bắt đầu với “/question” và thông tin về kết nối đến MongoDB server được cấu hình trong tập tin application.properties. Bây giờ, chúng ta sẽ tiến hành xây dựng API này các bạn nhé!

Để xây dựng API xoá question, mình sẽ thêm mới một method trong class QuestionController để expose một DELETE request “{id}” với id là id của question mà chúng ta cần xoá:

Các bước để xoá một question bao gồm:

Đầu tiên, chúng ta cần phải kiểm tra là question mà chúng ta muốn xoá có tồn tại hay không dựa vào id mà người dùng truyền vào.

Spring Data MongoDB Reactive đã hỗ trợ cho chúng ta phương thức để tìm kiếm theo id nên chúng ta chỉ cần gọi để sử dụng mà thôi.

Trong trường hợp question này tồn tại, chúng ta sẽ delete nó và trả về HTTP status code là 200 OK.

Còn nếu nó không tồn tại thì trả về kết quả HTTP status code là 404 Not Found.

Toàn bộ nội dung của phương thức deleteQuestion() lúc này sẽ như sau:

Đến đây thì chúng ta đã hoàn thành việc xây dựng API xoá question cho Core Question Service rồi đó các bạn, hãy test thử xem sao nhé!

Giả sử hiện tại mình đang có những question sau đây:

Questions Management – Core Question Service – Xây dựng API xoá question

thì khi mình request để xoá question với id là 5ad5d9d651bd7a0aefa87fb3, kết quả sẽ là:

Questions Management – Core Question Service – Xây dựng API xoá question

Add Comment