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
完美解决!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!