Tôi đang viết một bài báo về việc triển khai một dịch vụ REST cho các tài liệu nghiên cứu của trường đại học và tôi có một vấn đề nhỏ hiểu mối quan hệ giữa URI và Tài nguyên.REST - nhiều URI cho cùng một tài nguyên (???)
Nó nói rằng tài nguyên có thể có một URI hoặc nhiều. Vì vậy, đây là vấn đề của tôi. Tôi muốn làm cho dịch vụ này trở nên dễ sử dụng và thu thập thông tin: tài nguyên nên được truy cập từ các điểm nhập khác nhau, nhưng điều này sẽ đi ngược lại khái niệm, rằng mỗi "URI chỉ định chính xác một tài nguyên".
Vì vậy, câu hỏi của tôi là nếu sau đây là nó hoặc là nó không phù hợp với REST như sau:
Tôi muốn để lộ thông tin về một ấn phẩm nghiên cứu (giả sử một phản biện chuyên gia).
Điều này có thể được truy cập bởi URI này: ĐẠI HỌC/ấn bản/{my_publication}.
Nhưng vì bài viết này được viết bởi một nhà nghiên cứu hoạt động tại Khoa Khoa học Xã hội, nên cũng có nghĩa là ấn phẩm có URI này: ĐẠI HỌC/khoa/social_science/publications/{my_publication}.
Hơn nữa, vì dịch vụ này cũng phơi bày tất cả các nhà nghiên cứu làm việc tại trường đại học (ví dụ: UNIVERSITY/research/{my_researcher}), cũng có nghĩa là ấn bản có thể được đặt tên là UNIVERSITY/research/{my_researcher}/publications/{my_publication}.
Điều này có thể xảy ra với nhiều lần sử dụng, nhưng bạn có ý tưởng.
Điều này có phù hợp với REST hay không?
Tôi có thể giữ điều này và giải quyết tình huống khó xử bằng cách gửi mã phản hồi 303 ("Xem thêm") cùng với URI chuẩn (sẽ là UNIVERSITY/publications/{my_publication}).
Cảm ơn bạn trước!
Xin chào Jim, đó chính xác là những gì tôi đã làm. Tôi thậm chí còn đi xa hơn, nhưng cũng đặt tên cho các nguồn tài liệu cho từng viện nghiên cứu (/ giảng viên/viện/ấn phẩm) và vân vân. Đó không phải là tình thế tiến thoái lưỡng nan của tôi, nhưng thực tế là không có vấn đề gì về URI mà tôi có trước {my_publication}, URI chỉ trên một và cùng một nguồn tin: bản thân ấn phẩm, đó là duy nhất. –
@jan, Không chắc chắn nếu địa chỉ này bình luận của bạn, nhưng mỗi truy vấn có thể là một tài nguyên REST giống như mỗi ấn phẩm được. Truy vấn đúng cách chỉ nên chứa danh sách các ấn phẩm * tên *. Vì vậy, một khách hàng của dịch vụ web của bạn đầu tiên có thể nhận được danh sách tất cả các ấn phẩm từ Viện Khoa học Thông tin của USC, và sau đó nhận được mỗi ấn phẩm trong danh sách đó. –