Я пишу приложение NestJS. Некоторые из конечных точек поддерживают сортировку, например http://127.0.0.1:3000/api/v1/members?sort=-id&take=100
Что означает сортировку по id
по убыванию.
Этот параметр поступает в качестве параметра @Query
и передается моему сервису. Этот сервис преобразует его в объект, который используется TypeORM:
{
id: 'DESC'
}
Я не хочу вызывать этот метод преобразования вручную каждый раз, когда мне нужна сортировка.
Я пробовал intercepter
, но этот не мог легко изменить параметры запроса в нужный объект.
A pipe
работал, но тогда мне все еще нужно добавить @Query(new SortPipe())
для каждого определения конечной точки.
Другой вариант - в самом хранилище. Документация NestJS очень хорошо написана, но не содержит указаний, куда что ставить.
Есть ли кто-то, у кого была похожая проблема с преобразованием параметров запроса до их использования в NestJS, и может объяснить, какой подход лучше всего подходит в NestJS?
Этот вопрос может выглядеть как вопрос, основанный на мнении, однако я ищу способ, которым это должно быть сделано с учетом философии NestJS.