Как сделать REST API на Symfony в PHP. Полный гайд для разработчиков backend

Описание к видео Как сделать REST API на Symfony в PHP. Полный гайд для разработчиков backend

Открытый канал в телеге - https://t.me/PHPnoob
Чат взаимопомощи PHP - https://t.me/php_noob

В этом видео мы построим учебное приложение реализующее REST API. Для этого мы научимся отдавать данные в JSON. Разберемся с тем как работает компонет Symfony/Serializer. Также обработаем запрос POST с телом запроса в формате JSON. Сначала сделаем это с помощью обычной Symfony/Form формы. Далее попробуем это сделать через специальный Dto объект. Также полученные контроллеры покроем функциональными Unit тестами.

Все видео курса в плейлисте:

   • Symfony фреймворк  

REST API - это интерфейс программирования приложений (API), который использует принципы архитектуры REST (Representational State Transfer) для обмена данными между клиентом и сервером посредством стандартных HTTP-запросов, таких как GET, POST, PUT, DELETE. Он позволяет клиентам получать, отправлять, изменять и удалять данные на удаленном сервере.

REST API обычно строится вокруг ресурсов (например, пользователей, продуктов, заказов), каждый из которых имеет уникальный идентификатор (URI). Данные передаются в формате JSON или XML, обеспечивая гибкость и универсальность.

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

00:00 Что будем делать и что такое REST API
03:00 Разбираемся с программой Postman
05:30 Делаем первый REST API запрос к серверу на Symfony 6 PHP
06:30 Делаем первый метод контроллера который возвращает JsonResponse
08:00 Использование переменных среды в Postman
10:00 Использование Symfony/Serializer для конвертации данных в JSON. Настройка в services.yml
13:00 Работа аттрибута [Ignore] для скрытия полей сущности в JSON ответе сервера
23:00 Добавление групп валидации для разной конвертации данных в json
30:00 Делаем добавление блога через JSON запрос и стандартную форму Symfony
35:00 Логин в систему через JSON запрос используя стандартную авторизацию Symfony
38:00 Краткий обзор LexikJWTAuthenticationBundle для перевода авторизации на JWT
40:00 Использование HTTP метода DELETE для удаления данных. Удаляем блог по REST API запросу
45:00 Использование возможностей Symfony 6 для маппинга query string в объект. Аттрибут [MapQueryString]
46:30 Переделываем фильтр блогов BlogFilter с помощью [MapQueryString]
47:00 Как экспортировать коллецию Postman в JSON файл
49:00 Исправляем проблему с настройками Serializer в services.yml
55:00 Использование DTO для создания сущности блога
56:00 Использование возможностей PHP 8.2 для объявления public свойств DTO readonly
01:02:00 Зачем нужен свой Resolver в [MapRequestPayload] и как приблизительно его сделать
01:04:00 Покрываем новый контроллер функциональными Unit тестами
01:08:00 Использование в Unit тестами loginUser для выполнения запросов от авторизованного пользователя
01:11:00 Добавление дополнительных asserts с помощью пакета phpunit-json-assert
01:15:00 Пишем тесты на метод удаления и находим баг с потерянной миграцией таблицы comments. Исправляем пропущенную миграцию.
01:16:00 Еще раз прогововариваем, что сделали сегодня

#php #symfony #restapi #json #обучение #программирование #обучающие

Комментарии

Информация по комментариям в разработке