#django #django-rest-framework #swagger-2.0 #drf-yasg #redoc
Вопрос:
Как изменить имя запроса, которое автоматически отображается в redoc-ui при использовании drf-yasg.
Например: На изображении вы можете видеть, что запрос называется fid_data-entities_update, он берет это из URL-адреса.
Как мне переопределить/переименовать его?
Ответ №1:
Вы можете использовать @swagger_auto_schema(...)
декоратор для переопределения operationId
спецификации в качестве operation_id
параметра using
from rest_framework import generics
from rest_framework.response import Response
from drf_yasg.utils import swagger_auto_schema
class OperationIdOverrideAPI(generics.ListAPIView):
@swagger_auto_schema(operation_id="Your awesome name")
def get(self, request, *args, **kwargs):
return Response({"message": "ok"})
Комментарии:
1. Я попытался добавить @swagger_auto_schema(operation_id=»Обновить имя сущности данных») поверх обновления def(self, запрос, *args, **kwargs) Я все еще не вижу изменений. Есть ли что-нибудь еще, что я должен сделать после добавления этого заявления?
2. вместо
update()
метода используйте либоput()
илиpatch()
метод3. Спасибо! Это сработало. Есть ли какой-либо способ прикрепить его к методу обновления? Потому что мы используем create, update, partial_update, list и destroy для наших API. Извините, что усложняю ситуацию. Но большое вам спасибо за ответ