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

Открытый канал в телеге -
Чат взаимопомощи PHP -
В этом видео мы построим учебное приложение реализующее 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 #обучение #программирование #обучающие

Смотрите также