Questions Management – Core Question Service – Xây dựng API lấy tất cả 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 lấy tất cả các question có trong MongoDB database 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 lấy tất cả question, mình sẽ thêm mới một method để expose một GET request “/all”:

Vì Spring Data Mongo Reactive đã hỗ trợ cho chúng ta method tìm kiếm tất cả các question rồi nên việc của chúng ta chỉ là gọi để sử dụng mà thôi:

Xong rồi đó các bạn! 🙂 Bây giờ test thử xem nhé.

Giả sử trong database mình đang có những question sau:

Questions Management – Core Question Service – Xây dựng API lấy tất cả question

thì khi mình chạy request để lấy tất cả question đang có, kết quả sẽ là:

Questions Management – Core Question Service – Xây dựng API lấy tất cả question



Bây giờ chúng ta sẽ thêm mới Unit Test cho code mà chúng ta vừa thêm vào, các bạn nhé!

Trong bài viết trước, mình đã tạo mới class test cho QuestionController tên là QuestionControllerTest, đối tượng Mock cho QuestionRepository và inject đối tượng Mock này vào class QuestionController, khởi tạo các đối tượng Mock mỗi khi chạy một test case như sau:

Giờ mình sẽ thêm mới một phương thức để test cho phương thức của findAllQuestions() của class QuestionController như sau:

Chạy “Maven test” trong STS hoặc “mvn test” với Apache Maven, các bạn sẽ không lỗi nào cả.

Add Comment