2012-06-27 15 views
8

Tôi mới sử dụng REST. Tôi muốn biết khi nào nên sử dụng các phương thức và khi nào thì sử dụng các phương thức post. Trong quá trình khảo sát văn học của tôi, tôi đã bắt gặp kiến ​​thức này.Sự khác biệt giữa phương thức Nhận và đăng so với HTTP và REST

Thực ra khi tôi đã tìm kiếm cho HTTP GET và POST phương pháp, tôi đọc mà có được mã hóa URL doesnt và sau mã hóa URL

Khi tôi tìm kiếm phần còn lại được và sau khi phương pháp này, tôi đọc mà có được phương pháp được sử dụng để lấy dữ liệu từ máy chủ và phương thức bài đăng là thêm một số dữ liệu vào máy chủ.

Nhưng tôi cũng đọc phần còn lại đó không là gì ngoài quy ước sử dụng HTTP.

Vì vậy, tôi cảm thấy như một số điều mâu thuẫn ở đây. Các phương thức của HTTP có khác nhau không?

Vui lòng làm rõ. Ngoài ra bất kỳ lời đề nghị trên khi sử dụng GET và POST phương pháp được hoan nghênh

Resource mà từ đó tôi đã nhận thông tin này:

https://www.ibm.com/developerworks/webservices/library/ws-ful/

http://www.cs.tut.fi/~jkorpela/forms/methods.html

+0

Có thể sử dụng GET và POST trên cùng phương pháp không? – Arti

Trả lời

11

GET nên được sử dụng để lấy một tài nguyên. Hoạt động này phải là idempotent, có nghĩa là nó không nên thay đổi bất kỳ trạng thái nào trên máy chủ.

BÀI ĐĂNG nên được sử dụng để thêm thông tin mới vào máy chủ. Điều này thường được thực hiện trên URL đại diện cho "vùng chứa" tài nguyên. POST sẽ thêm tài nguyên mới vào vùng chứa này.

PUT nên được sử dụng để cập nhật tài nguyên hiện có.

DELETE phải rõ ràng.

Bạn có thể thưởng thức đọc này: http://tomayko.com/writings/rest-to-my-wife

+1

Lạm dụng: “idempotent” không có nghĩa là “không thay đổi trạng thái”. 'DELETE' thay đổi trạng thái, nhưng nó là idempotent. "Không thay đổi trạng thái" được gọi là "không có tác dụng phụ". –

+0

Từ Wikipedia: Idempotence là tài sản của một số hoạt động nhất định trong toán học và khoa học máy tính, rằng chúng có thể được áp dụng nhiều lần mà không thay đổi kết quả ngoài ứng dụng ban đầu. [END QUOTE]. Theo định nghĩa này, một DELETE sẽ thất bại khi thực hiện lần thứ hai. –

+0

Chúng ta có thể sử dụng GET và POST trên cùng phương pháp không? – Arti

0

Phần câu hỏi của bạn mà vẫn chưa nhận được bất kỳ sự chú ý như được nêu ra, và đó có lẽ là gây một số nhầm lẫn của mình, là: "Văn là gì, nhưng một quy ước để sử dụng HTTP. " Đó là một cách không chính xác mô tả những gì REST là/không trong điều khoản của nó bằng cách sử dụng HTTP để thao tác trạng thái của một ứng dụng. Điều này được chính thức gọi là HATEOAS - http://en.wikipedia.org/wiki/HATEOAS và là trung tâm của khái niệm dịch vụ web RESTful.