Thử các routes
Sau khi định nghĩa các routes của chúng ta, chúng ta có thể thử chúng ra sử dụng hàm fetch() trong trình duyệt:
1. Trong trình duyệt của bạn, đi tới http://localhost:3001/, mở console bằng cách click phải lên một page và click
Inspect, sau đó đi tới Console tab.
2. Trong console, nhập vào code sau để thực hiện một yêu cầu GET để lấy tất cả các posts:
fetch(‘http://localhost:3001/api/v1/posts’)
.then(res => res.json())
.then(console.log)
3. Bây giờ chúng ta có thể điều chỉnh code này để thực hiện một yêu cầu POST bằng cách chỉ ra Content-Type header
để thông báo máy chủ cái chúng ta sẽ gửi JSON và sau đó gửi một body với JSON.stringify (khi body phải là một string):
fetch(‘http://localhost:3001/api/v1/posts’, {
headers: { ‘Content-Type’: ‘application/json’ },
method: ‘POST’,
body: JSON.stringify({ title: ‘Test Post’ })})
.then(res => res.json())
.then(console.log)
4. Tương tự, chúng ta cũng có thể gửi một yêu cầu PATCH, như sau:
fetch(‘http://localhost:3001/api/v1/
posts/642a8b15950196ee8b3437b2’, {headers: { ‘Content-Type’: ‘application/json’ },
method: ‘PATCH’,
body: JSON.stringify({ title: ‘Test Post Changed’ })})
.then(res => res.json())
.then(console.log)
Đảm bảo thay thế MongoDB IDs trong URL với một cái trả về từ yêu cầu POST thực hiện trước kia!
5. Cuối cùng, chúng ta có thể gửi một yêu cầu DELETE:
fetch(‘http://localhost:3001/api/v1
/posts/642a8b15950196ee8b3437b2’, {
method: ‘DELETE’,
})
.then(res => res.status)
.then(console.log)
6. Khi làm một yêu cầu GET, chúng ta có thể thấy rằng post của chúng ta bây giờ đã được xóa một lần nữa:
fetch(‘http://localhost:3001/api/v1/
posts/642a8b15950196ee8b3437b2’).then(res => res.status)
.then(console.log)
Yêu cầu này nên trả về một 404.
Tip
Thay vì console trình duyệt, chúng ta cũng có thể sử dụng các công cụ command line như curl hay các apps như
Postman để thực hiện các yêu cầu. Cảm thấy tự do để sử dụng các công cụ khác nhau để thử các yêu cầu nếu bạn đã
quen với chúng.
Chúng ta đã định nghĩa thành công tất cả các routes để xử lí một blog post API đơn giản!
