@tison

ASP.NET Core 2.0: REST API сортировка и фильтрация?

Разрабатываемое мной приложение разбито на 2 уровня:
1. Презентационный (ASP.NET Core)
2. Уровень доступа к данным (CQRS, Dapper).

Модели первого уровня - ресурсы. Модели второго - DTO, которые заполняются данными из БД.
Названия свойств этих моделей могут отличаться.

Вопрос: как организовать сортировку и фильтрацию данных? Под фильтрацией я подразумеваю не только удаление свойств в ответе (что можно реализовать с помощью middleware), но и предотвращение получения некоторых полей из БД. Повторюсь, названия свойств у моделей разные.

Пример того, как все должно работать:
Допустим есть ресурс "Новость" (id, title, text, created_at, images[]).
Пользователь отправляет запрос GET /news?order_by=title, -created_at&fields=id, title. Уровень доступа к данным должен выполнить следующее: SELECT id, title FROM news ORDER BY title ASC, created_at DESC. Т.к. в списке полей не было images, уровню доступа к данным не пришлось делать JOIN news_images.
  • Вопрос задан
  • 543 просмотра
Пригласить эксперта
Ответы на вопрос 1
DarkRaven
@DarkRaven
разработка программного обеспечения
Посмотрите на https://github.com/JuergenGutsch/graphql-aspnetcore , и в целом, на GraphQL. Еще можно глянуть на https://github.com/OData/WebApi/ , вот тут есть что-то по состоянию - https://github.com/OData/WebApi/issues/939
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы