Tôi đang thiết kế API REST của dịch vụ và bị mắc kẹt trên cách thích hợp để lồng tài nguyên.
Tài nguyên: đối tác, vé, cài đặt
Kết nối giữa các tài nguyên:
- Đối tác có nhiều vé,
- Đối tác đã thiết lập cài đặt,
Logic kinh doanh:
- bạn có thể liệt kê tất cả các đối tác là người dùng ẩn danh,
- bạn có thể thêm vé mới cho đối tác được chỉ định là người dùng ẩn danh,
- chỉ đối tác mới có thể liệt kê vé của mình,
- chỉ đối tác mới có thể sửa đổi vé của mình,
- chỉ đối tác mới có thể liệt kê các cài đặt,
- chỉ đối tác mới có thể sửa đổi cài đặt,
Những gì tôi đã làm cho đến bây giờ:
Tài nguyên đối tác
NHẬN / đối tác - liệt kê tất cả các đối tác
GET / đối tác /: id - hiển thị chi tiết về đối tác được chỉ định bởi: tham số id
GET / đối tác /: đối tác_id / vé - danh sách vé của đối tác
GET / đối tác /: đối tác_id / vé /: id - chi tiết của vé đối tác được chỉ định
POST / đối tác /: Partner_id / Ticket - lưu vé mới
PUT / đối tác /: Partner_id / Ticket /: id - cập nhật vé được chỉ định bởi: tham số id
GET / đối tác /: Partner_id / settings - liệt kê cài đặt của đối tác
PUT / đối tác /: Partner_id / settings - cập nhật cài đặt của đối tác
Vấn đề / câu hỏi
Sẽ là cách thích hợp để phân chia tài nguyên lồng nhau (vé, cài đặt) để phân tách tài nguyên hoặc sao chép chúng dưới dạng tài nguyên riêng biệt?
Ví dụ
NHẬN / vé /: id
BÀI / vé
PUT / vé /: id
NHẬN / cài đặt
PUT / cài đặt