Các phương thức HTTP và APIs (tiếp tục)
PUT ít được sử dụng phổ biến hơn khi tương tác với các websites nhưng được sử dụng thỉnh thoảng trong APIs. Một
yêu cầu PUT được sử dụng để cập nhật một object hay thông tin. Một API có thể yêu cầu một POST request để tạo
một user mới, ví dụ, nhưng nó có thể cần một PUT request nếu bạn muốn cập nhật email address của user.
DELETE được sử dụng, như bạn có thể tưởng tượng, xóa một object. Ví dụ, nếu bạn gửi một DELETE request tới
http://example.com/user/23, nó sẽ xóa user với ID 23. Phương pháp DELETE không thường được gặp trong APIs
công cộng, cái ban đầu được tạo để phổ biến thông tin hay cho phép người dùng tạo hay post thông tin, hơn
là cho phép người dùng xóa thông tin đó từ CSDL của chúng.
Không giống các GET requests, các POST, PUT và DELETE requests cho phép bạn gửi thông tin trong body của
một request, ngoài URL hay route từ đó bạn đang yêu cầu dữ liệu.
Như trả lời cái bạn nhận từ web server, dữ liệu này trong body điển hình được format như JSON hay ít phổ
biến hơn như XML, và hình thức của dữ liệu này được định nghĩa bởi cú pháp của API. Ví dụ, nếu bạn đang
sử dụng một API cái tạo các comments trên các blog posts, bạn có thể tạo một PUT request tới:
http://example.com/comments?post=123
với request body sau:
{“title”: “Great post about APIs!”, “body”: “Very informative. Really helped me
out with a tricky technical challenge I was facing. Thanks for taking the time
to write such a detailed blog post about PUT requests!”, “author”: {“name”:”Ryan
Mitchell”, “website”: “http://pythonscraping.com”, “company”: “O’Reilly Media{“title”: “Great post about APIs!”, “body”: “Very informative. Really helped me
out with a tricky technical challenge I was facing. Thanks for taking the time
to write such a detailed blog post about PUT requests!”, “author”: {“name”:”Ryan
Mitchell”, “website”: “http://pythonscraping.com”, “company”: “O’Reilly Media”}}
Chú ý rằng ID của blog post (123) được truyền như một tham số trong URL, nơi nội dung cho comment mới bạn đang tạo
được truyền trong body của request. Các tham số và dữ liệu có thể được truyền trong cả tham số và body. Các tham
số nào được yêu cầu và nơi nào chúng được truyền được quyết định một lần nữa bởi cú pháp của API.