Django rest framework Openapi-重复操作ID和额外参数
我正在使用Swagger记录我的Django API。当我生成我的Openapi模式时,会为我的每个路径添加第二个路由,该路由带有附加参数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
{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.