Pull to refresh

Comments 8

А чем не подходят API Resource?

Вот как раз для этого они и существуют )

100% подходят и даже больше.
Нет смысла создавать кастомные вещи, и потом их поддерживать и мучаться во время обновлений фрйэмворка и тп.

Встречал и тех кто им противится. Поэтому решил перевести статью чтобы была. Про ресурсы завтра дропну 🙂

Скорее всего автор плохо изучил возможности фреймворка и решил изобрести уже встроенную фичу

Не исключено. Но лично по моему опыту почти трёхлетней работы с Lumen и полным отказом от использования ресурсов (так исторически сложилось), делали обёртку вроде той что в статье. И нет, это было не в лохматых годах - в начале 20-х. Внезапно.

В том числе по этой причине я решил перевести статью и выложить на Хабре.

В Laravel есть прекрасный сервис контейнер, данную статью можно было бы дополнить как реализовать инъекцию зависимостей используя что-то вроде ResponseProvider. Т.к. статья о том как улучшить, чтобы затем грамотнее было работать, когда потребуются правки. А в итоговом коде в каждом методе классы создаются внутри. Соответственно, если решите поменять класс, нужно править каждый метод и проверять все места где они используются.

Теперь представьте, что, по мере роста API, Вам понадобится реализовать ещё одну модификацию ответа - например, добавить флаг JSON_UNESCAPED_UNICODE

Тогда идеи лесом обратная совместимость апи. Представьте, что ваши потребители давно ждут определенный формат ответа, а вы таким образом все свои апишки сломали. Обычно если и надо какое то апи расширить, то его точно и добавляют, но не ломают уже существующие.

Опять же если у вас не такая ситуация, что потребитель один - и это вы сами.

Sign up to leave a comment.

Articles