Which RESTful endpoint design is BEST for retrieving orders of customer id 88?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "/customers/88/orders". Thiết kế REST đặt tên endpoint theo danh từ chỉ tài nguyên, để phương thức HTTP nói lên hành động, và biểu diễn quan hệ cha con bằng đường dẫn lồng: /customers/88 là khách hàng id 88, thêm /orders là tập đơn hàng thuộc khách đó, gọi bằng GET là đọc. "/getOrdersByCustomer/88" nhét động từ get vào URL theo kiểu gọi hàm (RPC), trùng lặp với ý nghĩa của phương thức GET và khó mở rộng thành bộ endpoint thống nhất. "/orders/customer/88/get" vừa có động từ get ở cuối, vừa dùng customer số ít làm đoạn trung gian không phải một tài nguyên rõ ràng. "/orders?id=88&customer=true" gây hiểu nhầm: tham số id thường hiểu là id của chính đơn hàng, còn customer=true là cờ mơ hồ; nếu muốn lọc bằng query thì phải viết rõ kiểu customerId bằng 88.

Cùng chương 6

Xuất hiện trong 1 bộ đề