Ngày 13 tháng 2 năm 2022
Chu Hải nhận xét
128 bình luận | 142.715 lượt đọc
“Đối tác của đồng nghiệp tôi định nghĩa tất cả các giao diện đều là yêu cầu POST vì lý do HTTPS an toàn hơn khi sử dụng POST. Trước đây tôi đã quen với RESTful API, nhưng nếu chỉ có POST mới an toàn thì tại sao chúng ta lại cần GET, PUT hay DELETE? Làm thế nào để phản biện?”
Trong bài đăng đó, có rất nhiều ý kiến trả lời xoay quanh một số lập luận:
- Sử dụng POST là tốt nhất và nên làm như vậy để giảm thiểu sự trao đổi.
- Làm nhanh chóng và về nhà sớm.
- Thắng cãi cũng chẳng ích gì, công việc thôi mà, sự tinh tế không thể thay cơm ăn.
Mặc dù không phải ai cũng nhất trí, nhưng vẫn có khá nhiều người ủng hộ cách tiếp cận này. Trên Twitter, tôi đã châm shbet love biếm rằng việc dùng POST cho mọi thứ giống như mời thợ sửa nhà đến và anh ta bảo: “Tôi chỉ đóng đinh vào tất cả mọi thứ, không cần vít, bulông, khóa hay bất kỳ thứ gì khác. Súng bắn đinh là đủ nhanh, tiện lợi và an toàn, xong việc sớm để về nhà.” Tuy nhiên, một số cư dân mạng vẫn nghĩ rằng việc dùng POST là hợp lý và tiết kiệm thời gian.
Do đó, tôi quyết định viết bài này dựa trên nguyên tắc thứ năm trong bài viết trước của tôi “Những nguyên tắc tôi áp dụng khi thiết kế kiến trúc hệ thống”, nhằm giải thích tại sao API không nên chỉ trả về mã 200 cho mọi tình huống đúng hoặc sai.
Bài viết sẽ được phân thành các phần sau:
- Tại sao cần sử dụng các động từ HTTP khác nhau?
- Cách thực hiện truy vấn phức tạp theo chuẩn RESTful
- Trả lời một số game nổ hũ đăng ký tặng code vấn đề chính:
- POST có thực sự an toàn hơn không?
- Liệu sử dụng toàn bộ POST có giúp tiết kiệm thời gian và giảm thiểu giao tiếp không?
- Cách về nhà sớm đúng đắn là gì?
- Công việc thôi mà, sự tinh tế không thể thay cơm ăn?