Drf_yasg: невозможно создать пользовательский интерфейс Swagger из файла YAML.Python

Программы на Python
Anonymous
Drf_yasg: невозможно создать пользовательский интерфейс Swagger из файла YAML.

Сообщение Anonymous »

Я использую библиотеку drf_yasg в своем проекте Django REST Framework для создания документации Swagger. Я определил конечные точки и схемы API в файле YAML, но когда я пытаюсь создать пользовательский интерфейс Swagger, он отображается неправильно.
Он отображает пользовательский интерфейс. с помощью автообнаружения, в котором нет информации о функциях, но я хочу добавить к нему дополнительную информацию.
Некоторые ключевые детали:
  • Я установил drf_yasg и добавил его в свои Django INSTALLED_APPS
  • Я определил конечные точки и схемы API в чванстве Файл .yaml
  • В моей конфигурации Django URL я добавил get_schema_view() из drf_yasg для генерации схема
Это мой проект urls.py

Код: Выделить всё

from django.contrib import admin
from django.urls import path, include
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from rest_framework import permissions

schema_view = get_schema_view(
openapi.Info(
title="My Application",
default_version="v1",
description="A sample API for learning DRF",
terms_of_service="https://www.google.com/policies/terms/",
contact=openapi.Contact(email="hello@example.com"),
license=openapi.License(name="BSD License"),
),
public=True,
permission_classes=(permissions.AllowAny,),
)

urlpatterns = [
path('admin/', admin.site.urls),
path('swagger/', schema_view.with_ui(
'swagger', cache_timeout=0), name='schema-swagger-ui'),
path('redoc/', schema_view.with_ui(
'redoc', cache_timeout=0), name='schema-redoc'),
]
вот как выглядит моя функция:

Код: Выделить всё

@api_view(['POST'])
def searchData(request):
name = request.data.get('name')
vendor = request.data.get('vendor')
s = AppSearch()
result = s.search(name, vendor)
result = json.loads(json_util.dumps(result))
return Response(result, status=status.HTTP_200_OK)
По умолчанию Swagger показывает мне функцию и отображает тип возвращаемого значения, но не отображает детали запроса, такие как имя и поставщик. Чтобы решить эту проблему, я реализовал эти детали в файле Schema.yml, который расположен в корневом каталоге моего проекта (где находится файл Manage.py).

Подробнее здесь: https://stackoverflow.com/questions/786 ... -yaml-file

Вернуться в «Python»