Я ищу некоторые рекомендации/советы/входные данные по концепции фильтрации ресурсов при вызове REST API. Допустим, у меня есть пользователи и сообщения, и пользователь создает сообщение. Если я хочу получить все сообщения, у меня может быть следующий маршрут:
GET /api/posts
Теперь, если бы я хотел получить все сообщения, созданные после определенной даты, я мог бы добавить такой параметр фильтра, как
GET /api/posts?created_after=2017-09-01
Однако, допустим, я хочу получить все сообщения Пользователей, созданные после определенной даты. Это правильный формат?
GET /api/posts?user.created_after=2017-09-01
Когда дело доходит до фильтрации, группировки и т. д., мне трудно понять, что нужно делать для REST API, особенно при использовании API с разбивкой на страницы. Если я сделаю это на стороне клиента (что было моей первоначальной мыслью), то вы потенциально получите переменное количество ресурсов на страницу в зависимости от того, что соответствует вашим критериям. Кажется сложным добавить всю эту логику в качестве параметров запроса через API, но я не вижу другого способа сделать это. Есть ли стандарт для такого рода вещей?