Symfony. Создание API-платформы.

Серия видео по работе с API в фреймворке Symfony. API платформа. Создание контрольных точек. Получение, удаление, чтение и запись данных. Используя api платформу в Symfony вы можете значительно ускорить скорость своей работы.

44 урока

Что такое REST API - здесь.

Дополнения:

Как работать с фильтрами API Platform:

https://webkyrs.info/category/symfony-api-platform-filtry

Если вам нужно разработать или доработать проект на Symfony, можете воспользоваться моими услугами.

  • Symfony. Создание API-платформы. Введение.
    Что такое API-платформа: взаимодействие клиента и сервера и какую задачу решает API в веб-приложении.
  • Инструмент, который нам поможет. API-platform.
    Библиотека API Platform для Symfony: чем она удобнее ручного создания точек входа при разработке API.
  • Создание endpoint на Symfony без сторонних инструментов
  • Создание endpoint на Symfony без сторонних инструментов (решение в 1 строку)
  • Сериализация Symfony сущности и вывод только нужных полей
  • Установка api-platform в Symfony проект
    Установка API Platform в проект Symfony командой composer require api и какие пакеты при этом ставятся.
  • Новый роут для доступа к интерфейсу для взаимодействия с API
    Интерфейс Swagger после установки API Platform: файл api-platform.yaml, роут api и просмотр точек взаимодействия.
  • Делаем Symfony сущность доступной по API
  • Выполняем первые запросы к API endpoint без программного кода.
  • Как получать отладочную информацию по каждому запросу
  • Ограничиваем возможные методы для обращения к сущности
  • Настройка формата выходных данных
  • Подготовка страницы для фронтенд запросов к API Platform
  • Получаем список всех элементов сущности с помощью jQuery
  • Получаем список всех элементов сущности с помощью axios
  • Получаем элемент сущности по id
  • Добавляем элементы с помощью библиотеки jQuery
  • Добавляем элементы с помощью библиотеки axios
  • Обновление значений в базе данных методами put и patch
  • Удаляем записи из базы данных
  • Взаимодействие с Get методами из адрестной строки браузера
  • Альтернативный способ ограничить возможные методы для обращения к endpoint
  • Как изменить название сущности в роутах API Platform
  • Откуда API-платформ берет поля.
  • Как ограничить выдаваемые поля от API Platform
  • Как изменять название свойств, которые выдаются в API Platform
  • Система постраничной навигации в API Platform
  • Настройки API-platform
  • Выдаем ответ в формате csv
  • Валидация полей для api platform
  • Создаем связь между сущностями и пытаемся получить такой элемент в API Platform
  • Создаем связь между сущностями и пытаемся получить такой элемент в API Platform. Продолжение
  • Как получать поля связанной сущности
  • Получаем поля в связанной сущности
  • Сортировка элементов в выдаче
  • Ограничиваем доступ к роуту для определенных пользователей
  • Закрываем доступ к сущности для ролей и права владельца
  • Что такое State Providers и Processors в API Platform
    Обзор концепций State Providers и State Processors в API Platform 3 - как они работают при обработке GET, POST, PATCH и DELETE запросов, как их расширять для модификации данных и создавать собственные провайдеры и процессоры для работы с любыми источниками данных.
  • Как убрать какое-то поле объекта из выдачи API Platform
  • Где найти классы по умолчанию для State Providers и Processors
  • Создаем простой провайдер для сущности
  • Обработка Get Collection в своем провайдере
  • Создаем класс State Processor
  • Пример использования State Processor

Как получить доступ?

Доступ к курсу "Symfony" на 1 месяц

Стоимость: 1000 ₽ (стоимость в других валютах можно уточнить у автора)

Войдите / зарегистрируйтесь на сайте, чтобы получить данные для оплаты

Что еще добавить в этот курс? Каких уроков вам не хватило?

Автор: alex3319 16/02/2021 09:02:19

Дмитрий, еще интересует момент авторизации по токену для работы с API Platform. Как это организовать? Хотя бы в общих чертах

Автор: dmchengaev 16/02/2021 11:02:08

Алексей, хороший вопрос. Из того, что я нашел. Есть 2 основных типа авторизации: с помощью логина и пароля и JWT авторизация.

Логин и пароль:
//config/packages/security.yaml

firewalls:
...
main:
json_login:
check_path: app_login
username_path: email
password_path: password

JWT авторизация есть вот такая еще статья:
https://yusufbiberoglu.medium.com/jwt-authentication-and-refresh-token-on-api-platform-7c6ecaa8e236

С этим придется поразбираться )