Swagger UI接入配置
Swagger UI接入配置
这里的接入我们依赖于DRF官方推荐的一个第三方包: drf-yasg,下面的接入步骤其实都是按照这个第三方库的文档进行配置,这里只是个最最入门的使用,对于更加高阶或者定制化的需求,可以先参考官方文档,后续也会推出基于这个库进行定制化的文章。
其实,drf-yasg的接入是非常简单的,只需要在Django项目下实例化对应的scheme_view,然后添加对应的路由即可:
# django_project_name/urls.py
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
schema_view = get_schema_view(
openapi.Info(
title="DRF TOOLS API",
default_version="v1",
),
public=True,
)
urlpatterns += [
url(r"^swagger(?P<format>\.json|\.yaml)$", schema_view.without_ui(cache_timeout=0), name="schema-json"),
url(r"^swagger/$", schema_view.with_ui("swagger", cache_timeout=0), name="schema-swagger-ui"),
url(r"^redoc/$", schema_view.with_ui("redoc", cache_timeout=0), name="schema-redoc"),
]
错误处理:
AttributeError: module 'rest_framework.serializers' has no attribute 'NullBooleanField'
通过查询相关资料得知,在djangorestframework版本为3.14.0中,已经将'NullBooleanField'
这个属性删除了,详情可见下方解释
github.com
https://github.com/encode/django-rest-framework/pull/8599
所以若使用3.14.0的DRF涉及以上问题,那就一定会报这个错误!
那既然问题已经找到了那就很好解决啦
我们只要将DRF的版本降低一些就可以啦 本人使用版本为3.13.1
完美解决!!!