Упрощение работы с API в Laravel за счет использования фильтров запросов для сокращения количества строк кода

CoderStudio, 05.08.2023 17:10
Упрощение работы с API в Laravel за счет использования фильтров запросов для сокращения количества строк кода

"Приходилось ли вам сталкиваться с ситуациями, когда из-за параметров запроса к конечной точке API приходилось писать обширный код в контроллере или сервисе Laravel?" Вот иллюстрация получения различных пользователей в зависимости от параметров запроса.

Хотя код, представленный на изображении выше, является функциональным, он не соответствует передовой практике и содержит чрезмерное количество операторов if и строк кода.

Этот процесс можно упростить, используя пакет Laravel, известный как "laravel-filter-querystring". Ссылка на GitHub Repo. https://github.com/mehradsadeghi/laravel-filter-querystring

Использование пакета для упрощения приведенного выше кода

  1. Сначала необходимо установить пакет:

$ composer require mehradsadeghi/laravel-filter-querystring

2. Затем в модели следует использовать признак FilterQueryString и определить свойство $filters, которое может состоять из параметров запроса, ожидаемых от запроса.

2 Затем в модели следует использовать признак FilterQueryString и определить свойство

3. После этого в запросе eloquent необходимо использовать метод filter(). Например.

User->filter()->get();

Это все, что вам нужно сделать, и вы избавитесь от многочисленных операторов if.

Пакет предлагает и другие фильтры, например, сортировку. Для получения дополнительных преимуществ можно посетить их репозиторий GitHub.

Заключение

Этот пакет представляет собой замечательное усовершенствование как в плане простоты кода, так и в плане его эффективности. Я столкнулся с трудностями, пытаясь справиться со сложностью обработки избыточных операторов if. Однако моя судьба изменилась, когда я неожиданно обнаружил этот пакет. Осознав его ценность, я решил поделиться своими находками.