Перейти к содержанию

Swagger

Для того чтобы создать Swagger документацию, воспользуемся библиотекой drf-spectacular.

Мы уже настроили эту библиотеку ранее здесь, а также указали нужные маршруты здесь. Этого достаточно, чтобы документация заработала и показывала информацию о наших эндопоинтах.

Но, к сожалению, отображаемся информация не всегда соответствует реальности, поэтому нам нужно расширить некоторые схемы с помощью декоратора @extend_schema на методах наших представлений и с помощью Docstring там, где повесить декоратор не так просто.

Декоратор принимает несколько аргументов:

  • summary - то, что будет отображаться рядом с URL эндпоинта;
  • description - то, что будет написано в описании эндпоинта. Вместо этого аргумента можно использовать Docstring;
  • parameters - схемы для входных данных. Указываются списком объектов класса OpenApiParameter с названием параметра и его типом;
  • responses - словарь, где ключ - статус ответа, а значение - сериализатор. Можно как использовать готовые сериализаторы, так и написать сериализатор на месте с помощью inline_serializer.

Код для декораторов уже был представлен здесь, дублировать информацию не буду.

Полученная документация:

Список эндпоинтов

Ответы

Вопросы

Проверка

Редирект авторизации

Здесь отсутствует ответ при статусе 200, так как эндпоинт возвращает редирект.

Ссылка на авторизацию

Группа

Авторизация

Обновление токена