Tôi đang cố gắng xoay quanh cách tốt nhất để giải quyết các khái niệm trong API dựa trên REST. Tài nguyên phẳng không chứa các tài nguyên khác không có vấn đề. Nơi tôi đang gặp rắc rối là các tài nguyên phức tạp.
Ví dụ, tôi có một tài nguyên cho một cuốn truyện tranh. ComicBookcó tất cả các loại tài sản trên nó thích author, issue number, datevv
Một cuốn truyện tranh cũng có một danh sách các 1..nbìa. Những bìa này là những đối tượng phức tạp. Chúng chứa rất nhiều thông tin về trang bìa: nghệ sĩ, một ngày, và thậm chí là một hình ảnh 64 được mã hóa cơ sở của trang bìa.
Đối với một GETtrên ComicBooktôi chỉ có thể trả lại truyện tranh, và tất cả các trang bìa bao gồm cả hình ảnh cơ sở 64 của họ. Đó có lẽ không phải là một vấn đề lớn để có được một truyện tranh. Nhưng giả sử tôi đang xây dựng một ứng dụng khách muốn liệt kê tất cả truyện tranh trong hệ thống trong một bảng. 
Bảng sẽ chứa một vài thuộc tính từ ComicBooktài nguyên, nhưng chúng tôi chắc chắn sẽ không muốn hiển thị tất cả các bìa trong bảng. Trả lại 1000 cuốn truyện tranh, mỗi cuốn có nhiều bìa sẽ dẫn đến một lượng dữ liệu lớn đến mức lố bịch, dữ liệu không cần thiết cho người dùng cuối trong trường hợp đó.
Bản năng của tôi là tạo ra Covermột tài nguyên và có ComicBookchứa bìa. Vì vậy, bây giờ Coverlà một URI. GETbây giờ trên truyện tranh hoạt động, thay vì Covertài nguyên khổng lồ, chúng tôi gửi lại URI cho mỗi trang bìa và khách hàng có thể truy xuất tài nguyên Cover khi họ yêu cầu.
Bây giờ tôi có một vấn đề với việc tạo ra truyện tranh mới. Chắc chắn tôi sẽ muốn tạo ra ít nhất một trang bìa khi tôi tạo Comic, thực tế đó có thể là một quy tắc kinh doanh. 
Vì vậy, bây giờ tôi đang gặp khó khăn, tôi hoặc là buộc các khách hàng để thực thi quy tắc kinh doanh bằng cách đầu tiên gửi một Cover, nhận được URI cho trang bìa, sau đó POSTing một ComicBookvới URI trong danh sách, hoặc tôi POSTtrên ComicBookmất trong một nguồn tìm kiếm khác với nó spits ngoài. Các tài nguyên đến POSTvà GETlà các bản sao sâu, trong đó các GETtài liệu gửi đi chứa các tham chiếu đến các tài nguyên phụ thuộc.
Tài Covernguyên có thể là cần thiết trong mọi trường hợp bởi vì tôi chắc chắn là khách hàng tôi muốn giải quyết hướng đi trong một số trường hợp. Vì vậy, vấn đề tồn tại ở dạng chung bất kể quy mô của tài nguyên phụ thuộc. Nói chung, làm thế nào để bạn xử lý các tài nguyên phức tạp mà không buộc khách hàng chỉ "biết" cách các tài nguyên đó được tạo ra như thế nào?