Sử dụng URL để chỉ định các đối tượng của bạn, không phải hành động của bạn:
Lưu ý những gì bạn đề cập đầu tiên không phải là RESTful:
/questions/show/<whatever>
Thay vào đó, bạn nên sử dụng URL để chỉ định các đối tượng của mình:
/questions/<question>
Sau đó, bạn thực hiện một trong các thao tác dưới đây trên tài nguyên đó.
ĐƯỢC:
Được sử dụng để lấy một tài nguyên, truy vấn danh sách tài nguyên và cũng để truy vấn thông tin chỉ đọc trên một tài nguyên.
Để lấy nguồn câu hỏi:
GET /questions/<question> HTTP/1.1
Host: whateverblahblah.com
Để liệt kê tất cả các nguồn câu hỏi:
GET /questions HTTP/1.1
Host: whateverblahblah.com
BÀI ĐĂNG:
Được sử dụng để tạo một tài nguyên.
Lưu ý rằng sau đây là một lỗi:
POST /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
Nếu URL chưa được tạo, bạn không nên sử dụng POST để tạo nó trong khi chỉ định tên. Điều này sẽ dẫn đến lỗi không tìm thấy tài nguyên vì chưa tồn tại. Bạn nên PUT tài nguyên trên máy chủ trước. Bạn có thể lập luận rằng bằng cách tạo một câu hỏi mới, bạn cũng đang cập nhật tài nguyên / câu hỏi vì bây giờ nó sẽ trả lại một câu hỏi nữa trong danh sách câu hỏi của nó.
Bạn nên làm như thế này để tạo tài nguyên bằng cách sử dụng POST:
POST /questions HTTP/1.1
Host: whateverblahblah.com
Lưu ý rằng trong trường hợp này, tên tài nguyên không được chỉ định, đường dẫn URL đối tượng mới sẽ được trả lại cho bạn.
XÓA BỎ:
Được sử dụng để xóa tài nguyên.
DELETE /questions/<question> HTTP/1.1
Host: whateverblahblah.com
ĐẶT:
Được sử dụng để tạo tài nguyên hoặc ghi đè tài nguyên trong khi bạn chỉ định URL tài nguyên.
Đối với một tài nguyên mới:
PUT /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
Để ghi đè tài nguyên hiện có:
PUT /questions/<existing_question> HTTP/1.1
Host: whateverblahblah.com
...Vâng, họ giống nhau. PUT thường được mô tả là phương pháp 'chỉnh sửa', vì bằng cách thay thế toàn bộ tài nguyên bằng một phiên bản được thay đổi một chút, bạn đã chỉnh sửa những gì khách hàng sẽ NHẬN được khi họ làm lần sau.
Sử dụng REST trong các biểu mẫu HTML:
Đặc tả HTML5 xác định GET và POST cho phần tử biểu mẫu .
Thuộc tính nội dung phương pháp là một thuộc tính liệt kê với các từ khóa và trạng thái sau:
- Từ khóa GET, ánh xạ tới trạng thái GET, cho biết phương thức HTTP GET.
- Từ khóa POST, ánh xạ tới trạng thái POST, cho biết phương thức HTTP POST.
Về mặt kỹ thuật, đặc tả HTTP không giới hạn bạn chỉ với những phương thức đó. Về mặt kỹ thuật, bạn có thể tự do thêm bất kỳ phương pháp nào bạn muốn, tuy nhiên, trên thực tế, đây không phải là một ý kiến hay. Ý tưởng là tất cả mọi người đều biết rằng bạn sử dụng GET để đọc dữ liệu, vì vậy sẽ gây nhầm lẫn nếu bạn quyết định sử dụng ĐỌC. Mà nói...
VÁ:
Đây là một phương thức đã được định nghĩa trong một RFC chính thức. Nó được thiết kế để sử dụng khi bạn chỉ muốn gửi một sửa đổi một phần cho tài nguyên, nó sẽ được sử dụng giống như PUT:
PATCH /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
Sự khác biệt là PUT phải gửi toàn bộ tài nguyên, không có vấn đề lớn như thế nào nó được so sánh với những gì đang thực sự thay đổi, trong khi PATCH bạn có thể gửi chỉ các thay đổi.