1
比方說,我有兩個對象,用戶和約會,用戶可能有一個或多個約會。在REST api中路由關係的最佳做法是什麼?
我很好奇,如果我應該允許API的消費者從約會控制器的用戶'過濾'。下面是調用我心目中的GET操作:
Users Controller
GET
api/Users
api/Users/{userId}
api/Users/{userId}/Appointments
api/Users/{userId}/Appointments/{appointmentId}
Appointments Controller
GET
api/Appointments/
api/Appointments/{appointmentId}
我很好奇,如果它是落實有關約會控制器的用戶過濾器是一個好主意(良好實踐)......所以上面的電話會變成:
Appointments Controller
GET
api/Appointments/{userId:int?}
api/Appointments/{appointmentId}
在上面的調用中,我爲userId添加了一個可選的querystring參數,默認爲null。這將允許調用者獲取所有約會,或者通過userId獲取約會。
我想我不確定什麼被認爲是具有關係的對象的最佳實踐。