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

完美解决!!!

 

posted @ 2023-01-19 11:48  侬侬发  阅读(229)  评论(0编辑  收藏  举报