fix: 真正把 paper_pdf_view 从 swagger 端点枚举里剔除

上一次的 swagger_auto_schema(auto_schema=None) 只抑制 operation 渲染,路径仍进入 endpoints 字典并参与最长公共前缀计算,所以分组依旧塌成 api.改为在 .cls 上设置 swagger_schema = None,命中 EndpointEnumerator.should_include_endpoint 的提前返回(generators.py:66),路径根本不进枚举,公共前缀恢复 /api/.
This commit is contained in:
caoqianming 2026-05-06 14:28:02 +08:00
parent b8a397eef7
commit 326f6b35d5
1 changed files with 3 additions and 2 deletions

View File

@ -3,14 +3,12 @@ from django.http import FileResponse, Http404
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.decorators import api_view, permission_classes from rest_framework.decorators import api_view, permission_classes
from rest_framework.permissions import AllowAny from rest_framework.permissions import AllowAny
from drf_yasg.utils import swagger_auto_schema
from .models import Paper, PaperAbstract from .models import Paper, PaperAbstract
from .serializers import PaperListSerializer from .serializers import PaperListSerializer
from apps.utils.viewsets import CustomGenericViewSet, CustomListModelMixin from apps.utils.viewsets import CustomGenericViewSet, CustomListModelMixin
import os import os
@swagger_auto_schema(method='get', auto_schema=None)
@api_view(['GET']) @api_view(['GET'])
@permission_classes([AllowAny]) @permission_classes([AllowAny])
def paper_pdf_view(request, pk): def paper_pdf_view(request, pk):
@ -29,6 +27,9 @@ def paper_pdf_view(request, pk):
return response return response
paper_pdf_view.cls.swagger_schema = None
# Create your views here. # Create your views here.
class PaperViewSet(CustomGenericViewSet, CustomListModelMixin): class PaperViewSet(CustomGenericViewSet, CustomListModelMixin):
queryset = Paper.objects.all() queryset = Paper.objects.all()