Tôi đang cố tạo một API cho hai tài nguyên, một với Người dùng và một với Phim. Cả hai tài nguyên đều có liên kết - Người dùng sẽ có nhiều Phim và Phim sẽ có nhiều Người dùng. Có lẽ, tôi muốn thiết kế API của tôi như sau:Thiết kế API RESTful với các liên kết
/api/users/
/api/users/:id
/api/users/:id/movies
/api/movies/
/api/movies/:id
/api/movies/:id/users
Nhưng đây là vấn đề: Tôi cũng đang sử dụng Backbone.js ở phía máy khách để tìm nạp dữ liệu API. Nếu Nếu tôi tạo một Bộ sưu tập tại
/api/users/:id/movies
thì điều này sẽ làm việc tốt cho các yêu cầu GET, nhưng POST và PUT yêu cầu sẽ dường như sau đó được hướng dẫn tại địa chỉ:
/api/users/:id/movies/:id
Nhưng, dường như, nó sẽ là tốt hơn nếu nó được đăng lên số
/api/movies/:id
thay thế. Đúng không? Mọi người thường đối phó với các hiệp hội RestFul như thế nào?
Cảm ơn Laurent. Backbone gắn một id vào URL để POST hoặc PUT một mô hình mới cho bộ sưu tập mà nó thuộc về. Nói cách khác, bộ sưu tập sẽ có URL/api/users/1/movies và POST sẽ tự động sử dụng URL/api/users/1/movies /: id. Đối với tôi, có vẻ thích hợp hơn khi có url POST là/api/movies /: id thay vì ... nhưng có lẽ tôi đã sai. Về phía máy chủ tôi có thể, có khả năng, xử lý POST đến/api/users/1/movies /: id là tốt. – bento