Khi chúng ta viết các API thì chúng ta thường sử dụng phương thức POST để tạo dữ liệu còn PUT thì để cập nhật lại dữ liệu. Chúng ta cứ biết vậy và cứ code như thế rồi thấy nó chạy được. Nhưng có lần mình có viết nhầm tạo dữ liệu mình dùng PUT và vẫn thấy tạo được dữ liệu. Nên mình mới tìm hiểu tại sao chúng ta không dùng 1 trong 2 thôi mà phải dùng cả 2 để làm gì. Và blog này, mình sẽ chia sẻ với mọi người về những thứ mình đã tìm hiểu được để cũng có thể giải đáp cho các bạn có chung thắc mắc và trả lời trong phỏng vấn nhé.
Trước hết chúng ta cùng tìm hiểu về sự bảo toàn dữ liệu là gì? Và như thế nào là phương thức bảo toàn dữ liệu
Bảo toàn dữ liệu là dữ liệu cuối cùng và dữ liệu ban đầu là không đổi.
Vậy phương thức bảo toàn dữ liệu là phương thức thực hiện bao nhiêu lần đi chăng nữa thì kết quả cũng chỉ giống như thực hiện 1 lần.
Và PUT chính là phương thức bảo toàn dữ liệu nên khi chúng ta ấn submit bao nhiêu lần đi chăng nữa thì dữ liệu cũng chỉ tính như chúng ta submit 1 lần. Còn đối với POST thì chúng ta submit quá nhiều lần thì có thể nó sẽ cho ra những kết quả khác nhau.
Bên cạnh đó thì khi tạo dữ liệu mới thì chúng ta đều muốn hệ thống tự tạo id cho dữ liệu đó để không bị trùng lặp id dẫn đến thay đổi dữ liệu. Vì vậy POST để làm việc này chứ không phải là PUT. Vì tạo dữ liệu mới PUT sẽ đi kèm theo với id để hệ thống sẽ tạo id của dữ liệu theo id đó nên sẽ có thể bị gây trùng lặp mà dữ liệu bị thay đổi.
Đó là những lý do tại sao chúng ta nên dùng đúng cách và nếu có nhầm như mình mà vẫn chạy được đúng thì mọi người vẫn phải sửa lại nhé.
Cảm ơn mọi người đã theo dõi.