Trang chủ » Blog » Phân biệt 2 Http method: POST và PUT

Phân biệt 2 Http method: POST và PUT

bởi CodeGym | 06/12/2023 17:30 | Blog

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.

Author: Nguyễn Minh Quân

Đăng ký nhận bộ tài liệu kỹ năng dành cho lập trình viên (video hướng dẫn + slide) tại đây

Tìm hiểu thêm về mô hình Coding Bootcamp tại đây

>> Xem ngay Devworld – Cẩm nang giúp lập trình viên phát triển bền vững với nghề lập trình

Download - Giáo trình thuật toán

5 + 13 =

Tags:

3 Lời bình

  1. Hưởng

    Bài viết thật đầy đủ giúp tôi giải đáp được nhiều thắc mắc. Sẽ cố để đi học 1 khóa tại codegym vì thấy bài viết của tác giả Nguyễn Minh Quân rất hay!

    Hồi đáp
  2. nguyen sinh

    Nếu api của mình vừa có update bảng A, đồng thời insert bảng B thì nên PUT or POST method ạ?

    Hồi đáp
  3. CG

    Nếu bạn Nguyen Sinh cung cấp thêm thông tin cụ thể hơn thì mình có thể trả lời bạn chính xác hơn, còn hiện tại với thông tin bạn cung cấp thì khó để ra quyết định là cái nào phù hợp hơn.

    Tuy nhiên, trong thực tế thì các API đều đi kèm với một resource nào đó (chẳng hạn là Product, People, Order,…), thao tác của bạn đối với resource đó sẽ quyết định bạn chọn method nào (PUT hoặc POST,..).

    Hồi đáp

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

9 + 4 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM