Я изо всех сил пытаюсь выработать правильные конечные точки REST для определенной ситуации. На моем сайте пользователи могут отправлять сообщения друг другу. Один пользователь может отправлять сообщения нескольким получателям.Правильная конструкция конечной точки REST при работе с сообщениями
Я думаю, что/v1/пользователей/123/сообщения будут возвращать все сообщения, которые были отправлены пользователем 123
Какой конечный пункт следует использовать для сообщений, которые пользователь 123 послал?
Моя структура базы данных выглядит следующим образом ...
счетов таблица
id INT
username VARCHAR(64)
сообщений Столик
id INT
account_id INT <!-- This is the senders account ID
subject VARCHAR(128)
message TEXT
messagerecipients стол
id INT
message_id INT
account_id INT <!-- This is the recipients account ID
В таблице сообщений определяет связь один-к-одному между сообщением и его отправителе
Таблица messagerecipients определяет отношение многие-ко-многим между сообщениями и их получателей
Также я читаю через a PDF on API design в тот момент, который, кажется, предлагает мне скрыть такую сложность за строкой запроса.
Например ....
/v1/emails?filter=author_id(123)
/v1/emails?filter=recipient_id(123)
Мысли?