2010-10-28 34 views
9

Tôi đang đọc trên một số REST với các đồng đội của mình, chúng tôi đang viết một ứng dụng RoR sẽ giới thiệu một số chức năng của nó cho phần còn lại của thế giới.REST GET động từ với các tham số

Nhiệm vụ của tôi trong nhóm này là tạo một nguồn cấp dữ liệu cho thấy các báo cáo tạp chí. Nếu bạn gọi

http://root.com/journalreports

Bạn sẽ nhận được tất cả các journalreports từ dịch vụ. Thats làm việc như một sự quyến rũ, nhưng tôi đang bối rối về việc làm thế nào để làm cho một ressource đúng cách cho thấy một loạt các journalreports. Tôi có nên làm cho nó

http://root.com/journalreports?range=1/2/2010;5/2/2010

Hoặc là bất hợp pháp này khi chúng ta nói về REST vì? Dải = can thiệp?

Cách thích hợp nhất để cung cấp một REST ressource một số thông số là gì?

Trả lời

14

Các tham số hoàn toàn OK, đặc biệt cho các tài nguyên tìm kiếm như trong trường hợp (truy vấn một tập hợp các tạp chí).

Tôi recently answered câu hỏi tương tự (đường dẫn so với tham số)

+0

Cảm ơn bạn đã liên kết !! Điều đó đã giúp tôi rất nhiều vì liên kết tới http://labs.apache.org/webarch/uri/rfc/rfc3986.html#query – mslot

+0

Tôi đã chấp nhận điều này vì liên kết đã giúp tôi. – mslot

6

REST không đặt tham số truy vấn "bất hợp pháp" theo bất kỳ cách nào. Đó là một phong cách kiến ​​trúc, chủ yếu là về lái xe ứng dụng bằng cách trao đổi đại diện. Xem xét các URI có nghĩa là mờ đục, không có sự khác biệt thực sự giữa các ví dụ http://example.com/page/1http://example/?page=1, như REST liên quan (cuối cùng phụ thuộc vào các biểu diễn được gửi, nhưng lựa chọn hoặc kiểu URI có xu hướng là chi tiết triển khai) .

Điều quan trọng là cách khách hàng sẽ tìm hiểu về URI của báo cáo của bạn. HTML có thể thực hiện điều này rất tốt với các biểu mẫu và tham số truy vấn. Cho dù dịch vụ của bạn là dành cho tiêu thụ trình duyệt hay đại lý khác không thực sự quan trọng, bạn có thể sử dụng các nguyên tắc tương tự. Bạn có thể có các biểu mẫu HTML (hoặc tương đương nếu khách hàng của bạn không phải là trình duyệt) nếu bạn muốn nó linh hoạt hơn hoặc thông qua các liên kết rõ ràng trên trang đầu của bạn. (Bạn có thể dễ dàng chia phạm vi thành hai tham số, như "từ" và "thành", nếu bạn muốn điều này động hơn.)

+1

Tôi thực sự nghĩ rằng "kiểu php" như vậy là bất hợp pháp khi thực hiện REST. Nhưng có lẽ tôi đã đọc một cái gì đó sai, khi tôi đã lướt qua một số bài báo? – mslot

+1

@mslot điều gì làm cho chuỗi truy vấn "kiểu php"? tôi nghĩ ngôn ngữ mà một ứng dụng được triển khai thực hiện là loại trừ lẫn nhau cách ứng dụng diễn giải và sử dụng các URI. – Todd

Các vấn đề liên quan