Таким образом я получил модели User
& Poll
где пользователь может создать много опросов (таким образом мы получили 1: N отношения здесь) и присоединиться к таблице Participant
как пользователь может быть частью многих опросы и опрос могут иметь много пользователей.REST URL дизайн для отношения многих ко многим
мне нужно определить две конечные точки REST: One для получения списка опросов, созданных пользователем, и один для получения списка опросов, где пользователь является участником.
Для первой конечной точки я определил:
GET /users/:id/polls
..., который является обычным способом определения 1: N отношений.
Но для второго конечного пункта я совершенно не знаю, как это будет выглядеть в REST. Я в основном имею пользователя и нуждаюсь во всех опросах, в которых пользователь является участником. Я хочу, чтобы все сделать и не хочу тратить слишком много времени, поэтому я пришел с этой мерзостью:
GET /users/:id/polls/participation
Кто-нибудь вменяемая идея, как это может быть разработана? Можно ли даже сопоставить это с помощью REST?
Итак, в примере один вы использовали бы параметр 'участник' для' Poll', хотя это только виртуальная собственность? Я вижу, что 'created_by' является законным, так как это реальная собственность на' Poll'. – codepushr
@codepushr Да. В любом случае нет правила, в котором говорится, что могут запрашиваться только свойства ресурса. –
@codepushr Извините, я хочу что-то прояснить. Участники - это свойства * ресурса *. Они не являются свойствами * представления *, которые вы предоставляете своим клиентам. И как ваш ресурс, так и представление (-и) являются полностью отдельными концептуальными объектами из модели данных, удобной для вашего хранилища баз данных, так же, как вы не ограничиваете свой дизайн пользовательского интерфейса, чтобы напрямую сопоставляться с вашим дизайном базы данных. –