Symfony как да използвате FOSRestBundle, SavePearlHarbor

Още едно копие на хабора

Главно меню

След навигация

В тази публикация бих искал да говоря за това как правилно да се изгради RESTfull API за AngularJS и други фронтови рамки с беккенд на Symfony.
И, както вероятно вече се досещате, ще използвам FOSRestBundle - прекрасен пакет, който ще ни помогне да внедрим бекенда.
Няма да има примери за работа с Angular, ще опиша само работата със Symfony FosRestBundle.

За работа се нуждаем и от JMSSerializerBundle, за да сериализираме данни от Entity към JSON или други формати, да изключим някои полета за конкретен обект (например парола за метода на API за получаване на списък с потребители) и много други, можете да прочетете повече в документацията.

Инсталиране и конфигуриране1) Заредете необходимите зависимости в нашия composer.json

"friendsofsymfony/rest-bundle": "^ 1.7",
"jms/serializer-bundle": "^ 1.1"

Сега нека редактираме нашия config.yml
Първо ще конфигурираме нашия FOSRestBundle

Сега нека започнем да конфигурираме нашия JMSSerializeBundle

Тук има смисъл да се спрем на момента jms_serializer.metadata.directories
По този начин казваме на сериализатора, че конфигурацията за този или онзи клас на обекта се намира там или там 🙂
Нека да помним, че трябва да покажем целия списък с потребители, аз лично използвам FosUserBundle в моите проекти и ето моята същност:

Като пример посочвам точно този обект, който наследява от основния модел FosUserBundle. Това е важно, тъй като и двата класа ще трябва да бъдат конфигурирани отделно за JmsSerializerBundle.