首页 > 其他分享 >drf-spectacular

drf-spectacular

时间:2023-01-19 14:56:06浏览次数:26  
标签:name spectacular 接口 文档 drf schema

介绍

drf-spectacular是为Django REST Framework生成合理灵活的OpenAPI 3.0模式。它可以自动帮我们提取接口中的信息,从而形成接口文档,而且内容十分详细,再也不用为写接口文档而心烦了

这个库主要实现了3个目标

  • 从DRF中提取更多的schema信息
  • 提供灵活性,使schema在现实世界中可用(不仅仅是示例)
  • 生成一个与最流行的客户端生成器配合良好的schema
     

环境准备

  • Python >= 3.6
  • Django (2.2, 3.1, 3.2)
  • Django REST Framework (3.10, 3.11, 3.12)
     

安装

使用pip命令安装

pip install drf-spectacular

然后在settings.pyINSTALLED_APPS安装drf-spectacular

INSTALLED_APPS = [
    # ALL YOUR APPS
    'drf_spectacular',
]

最后向DRF注册我们壮观的AutoSchema

REST_FRAMEWORK = {
    # YOUR SETTINGS
    'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}

drf-spectacular有健全的默认设置,非常好用开箱即用,不需要指定任何设置,但我们建议至少指定一些元数据

SPECTACULAR_SETTINGS = {
    'TITLE': 'API接口文档',
    'DESCRIPTION': '项目详情介绍',
    'VERSION': '1.0.0',
    # OTHER SETTINGS
}

 

使用方式

我们只需要在urls.py中添加接口地址即可

from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView
urlpatterns = [
    # YOUR PATTERNS
    path('api/schema/', SpectacularAPIView.as_view(), name='schema'),
    # Optional UI:
    path('api/schema/swagger-ui/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),  # swagger接口文档
    path('api/schema/redoc/', SpectacularRedocView.as_view(url_name='schema'), name='redoc'),  # redoc接口文档
]

然后我们启动项目,访问http://127.0.0.1:8000/api/schema/swagger-ui/,就会出现接口文档

标签:name,spectacular,接口,文档,drf,schema
From: https://www.cnblogs.com/beichengshiqiao/p/17061453.html

相关文章

  • drf快速使用 CBV源码分析 drf之APIView分析 drf之Request对象分析
     目录序列化和反序列化drf介绍和安装使用原生django写接口djangoDRF安装drf快速使用模型序列化类视图路由datagrip使用postman测试接口CBV源码分......
  • drf-Response drf-request.data 序列化类的使用 反序列化新增、修改、删除数据
    目录APIView基本使用使用原生Django写接口(View+JsonResponse)使用drf写接口(APIView+drfResponse)drf两种导入View的方式drfResponseAPIView源码分析Request类源码......
  • 3. DRF进阶之DRF视图和常用功能
    DRF视图和常用功能DRF视图DRF视图类介绍在DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。View:Django默认的视图基类,负责将视图连接到URL,HTTP请求方法......
  • django DRF
    博客目录web应用模式api接口接口测试工具postmanrestful规范drf快速使用CBV源码分析drf之APIView分析drf之Request对象分析......
  • DRF06-视图架构
    本文探究Django以及DRF的视图的层层递进,从源码学习视图的不断完善和丰富01最简单的视图FBVurlpatterns=[path('test01/',views.test01)]只要在浏览器上请求......
  • DRF解决跨域问题
    DjangoRestFramework提供了corsheaders模块解决跨域问题安装模块pip3.9installdjango-cors-headers注册应用#注册corsheaders模块INSTALLED_APPS=[......
  • DRF之JWT认证
    参考网址https://www.cnblogs.com/songhaixing/p/14698016.html权限-角色(分组)-用户默认情况下,校验用户名/密码和签发jwt的逻辑已经写好默认只返回token我......
  • DRF之过滤,排序,自定义异常和分页
    DRF数据的过滤参考网址https://www.cnblogs.com/songhaixing/p/14687072.htmldrf内置的过滤组件SearchFilter###modelsclassBookInfo(models.Model):ti......
  • drf-5.7异常处理 Exceptions
    异常处理ExceptionsRESTframework提供了异常处理,我们可以自定义异常处理函数。fromrest_framework.viewsimportexception_handlerdefcustom_exception_handler(e......
  • drf-3.3反序列化使用
    反序列化使用1.验证使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。在获取反序列化的数据前,必须调用is_valid()方法进行......