【发布时间】:2021-04-27 04:46:58
【问题描述】:
我正在从 Django 1.11 --> 3.1.5 做一些迁移工作
以前使用“rest_framework_swagger”,我可以在 url.py 中通过这个来完成 swagger api 分组
url(r'^api/v9/test_token1$',
api.test_token,
name='test_token'),
url(r'^api/v9/test_token2$',
api.test_token,
name='test_token'),
并得到这个(注意它分组 v9)
但是,我在 Django 3.1.5 上尝试过使用“drf_yasg” url.py
path('/v2/token_api1', token_api1, name='token_api1'),
path('/v2/token_api2', token_api2, name='token_api2'),
我的 api 定义(请注意我使用的是@api_view)
token = openapi.Parameter('token', openapi.IN_FORM, type=openapi.TYPE_STRING, required=True)
@swagger_auto_schema(
method="post",
manual_parameters=[token],
operation_id="token_api1"
)
@api_view(['POST'])
# this is optional and insures that the view gets formdata
@parser_classes([FormParser])
def token_api1(request):
token = request.POST['token']
return Response("success test_api:" + token, status=status.HTTP_200_OK)
token = openapi.Parameter('token', openapi.IN_FORM, type=openapi.TYPE_STRING, required=True)
@swagger_auto_schema(
method="post",
manual_parameters=[token],
operation_id="token_api2"
)
@api_view(['POST'])
# this is optional and insures that the view gets formdata
@parser_classes([FormParser])
def token_api2(request):
token = request.POST['token']
return Response("success test_api:" + token, status=status.HTTP_200_OK)
但是,我明白了(注意到 v2 没有分组)。而且当我进行测试时,也有错误。 (代码 404 错误:未找到)
如何将这些分组到 drf_yasg 中的 API 并确保没有错误? 注意如果url.py是这样的,没有错误但没有分组
path('token_api1', token_api1, name='token_api1'),
path('token_api2', token_api2, name='token_api2'),
【问题讨论】:
-
在添加 swagger 端点的地方显示主 urls.py
标签: django django-rest-framework swagger drf-yasg redoc