Django rest framework Openapi-重复操作ID和额外参数

Django rest framework Openapi-重复操作ID和额外参数,django-rest-framework,swagger,schema,documentation,openapi,Django Rest Framework,Swagger,Schema,Documentation,Openapi,我正在使用Swagger记录我的Django API。当我生成我的Openapi模式时,会为我的每个路径添加第二个路由,该路由带有附加参数{format},操作ID与“正确”路由相同 我了解到,如果我有多个具有相同模型的视图,生成器可能会生成重复的operationId,但我认为这不是我的情况 总的来说,我的视图(resource/api/views.py)都是这样组织的: class ResourceList(APIView): """ View

我正在使用Swagger记录我的Django API。当我生成我的Openapi模式时,会为我的每个路径添加第二个路由,该路由带有附加参数
{format}
,操作ID与“正确”路由相同

我了解到,如果我有多个具有相同模型的视图,生成器可能会生成重复的operationId,但我认为这不是我的情况

总的来说,我的视图(resource/api/views.py)都是这样组织的:

class ResourceList(APIView):

    """
    View to list Resources.
    """

    def get(self, request, parameter1):
       ...

class ResourceDetail(APIView):

    """
    View to retrieve information of a Resource.
    """

    def get(self, request, parameter1, parameter2):
        ...
对于这两个视图,我有以下两条路径:

urlpatterns = ([
    path('<str:parameter1>', views.ResourceList.as_view()),
    path('<str:parameter1>/details/<str:parameter2>', views.ResourceDetail.as_view())
])
对于第二条路径:

Route: /api/resource/{parameter1}/details/{parameter2}, Method: get
Route: /api/resource/{parameter1}/details/{parameter2}{format}, Method: get
出现如下警告:

Route: /api/resource/{parameter1}, Method: get
Route: /api/resource/{parameter1}{format}, Method: get
An operationId has to be unique across your schema. Your schema may not work in other tools.
该警告显然是有意义的,因为两条路由都具有相同的操作ID(
retrieveResourceList
)。我不明白的是为什么要生成第二个路由,以及该
格式
参数来自何处

这是正常的行为吗?如果没有,我做错了什么

Route: /api/resource/{parameter1}, Method: get
Route: /api/resource/{parameter1}{format}, Method: get
An operationId has to be unique across your schema. Your schema may not work in other tools.