Quy tắc API REST về đường hầm


10

Chỉ cần đọc điều này trong Quy tắc API REST : Không được sử dụng GET và POST để tạo đường hầm cho các phương thức yêu cầu khác .

Đường hầm đề cập đến bất kỳ sự lạm dụng HTTP nào che giấu hoặc xuyên tạc ý định của thông điệp và làm suy yếu tính minh bạch của giao thức. API REST không được thỏa hiệp thiết kế của nó bằng cách sử dụng sai các phương thức yêu cầu của HTTP trong nỗ lực cung cấp cho khách hàng với vốn từ vựng HTTP hạn chế . Luôn sử dụng đúng các phương thức HTTP theo quy định của các quy tắc trong phần này. [nổi bật bởi tôi]

Nhưng sau đó, rất nhiều khung công tác sử dụng đường hầm để hiển thị các giao diện REST thông qua các biểu mẫu HTML, vì <form>chỉ biết về GETPOST. Ví dụ gần đây nhất của tôi là một MethodRewriteMiddlewarebình (được gửi bởi tác giả của khung): http://flask.pocoo.org/snippets/38/ .

Bất kỳ cách nào để tuân thủ "Quy tắc" mà không có hack hoặc tiện ích bổ sung trong khung web?

Câu trả lời:


3

Không, không có. Vì vậy, nếu bạn cần, phá vỡ quy tắc nào.

Tôi không biết vấn đề lớn là gì. Các giao thức đóng gói các giao thức khác mọi lúc. TC / PIP có bốn lớp trừu tượng như vậy .

Tất nhiên, đường dẫn tốt hơn là để khách hàng có được chương trình và hỗ trợ các động từ HTTP đúng cách. Nhưng đó không phải là một thế giới hoàn hảo.


Cảm ơn, dù sao mọi người cũng đang làm điều đó (và các giao thức khác làm điều đó theo thiết kế, như bạn đề cập đến). Tôi hơi ngạc nhiên khi thấy "quy tắc" được viết rất rõ ràng.
miku
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.