Tôi không hoàn toàn lúng túng cách cấu trúc hợp lý một API REST (hoặc REST).Cần trợ giúp để hiểu các điểm cuối REST API
Hãy tưởng tượng một API để tạo và gửi email bản tin. Bạn có thể có danh từ/tài nguyên sau: bản tin (chủ đề, nội dung, v.v.), danh sách gửi thư (bộ sưu tập người nhận) và người nhận (địa chỉ email và dữ liệu liên quan).
Vì vậy, bạn có thể sử dụng PUT để tạo ra một nguồn lực và được trả lại ID của nó:
/newsletter
/list
/user
Bạn có thể có được thông tin về một nguồn tài nguyên sử dụng GET:
/newsletter/[id]
/list/[id]
/user/[id]
Bạn có thể cập nhật một nguồn tài nguyên hiện có sử dụng PATCH (hoặc đây phải là POST?):
/newsletter/[id]
/list/[id]
/user/[id]
Bạn có thể xóa tài nguyên bằng DELETE :
/newsletter/[id]
/list/[id]
/user/[id]
là đúng trên?
Điểm cuối nào là hợp lý đối với các hành động như gửi bản tin vào danh sách, thêm người dùng vào danh sách?
Điều sau đây có ý nghĩa và nó có hữu ích không?
/newsletter/[newsletter_id]/send/[mailinglist_id]
/list/[list_id]/add/[user_id]
/list/[list_id]/remove/[user_id]
Có dư thừa hoặc vô ích để có list/[id]/add/[id]
và list/[id]/remove/[id]
điểm cuối cho các danh sách, khi người dùng có thể được thêm vào hoặc gỡ bỏ qua PATCH tại /list/[id]
?
Điều gì về việc tìm kiếm ID của người dùng thông qua thuộc tính như địa chỉ email hoặc tên? Hoặc nhận được một danh sách thông qua một định danh như tên của nó hoặc khi nó được tạo ra?
Còn động từ "gửi" thì sao? – jeremiahs