Если я хочу придерживаться принципов REST, если у меня есть ресурс с именем students
и ресурс с именем courses
, я мог бы забронировать кого-то на курс, подобный этому:
PUT: api/courses/{courseId}/students/{studentId}
Инстинктивно, я хотел бы перечислить студенческие бронирования следующим образом:
GET: api/courses/{courseId}/students
Но я хотел бы включить некоторую информацию, относящуюся к бронированию (например, номер бронирования), что означает третий сопоставленный ресурс.
Итак, я предлагаю, чтобы получить студенческие бронирования, нам нужен отдельный ресурс бронирования, который может выглядеть следующим образом:
GET: api/courses/{courseId}/student-bookings
Мой вопрос: Кто-нибудь видит проблему с вышеуказанным подходом, поскольку конечная точка, которую я использую для создания бронирования, отличается от конечной точки, которую я использую для получения созданного бронирования?
edit: Еще одна альтернатива, которая мне кажется более удобной, была бы ниже, хотя это не меняет вопроса, который касается доступа к созданному ресурсу с использованием другой конечной точки, отличной от той, которая его создала:
GET: api/courses/student-bookings?courseId={courseId}