首页 > 其他分享 >django项目中使用swagger来实现接口文档自动生成

django项目中使用swagger来实现接口文档自动生成

时间:2022-12-29 13:33:50浏览次数:57  
标签:yasg 接口 django 文档 swagger drf schema

一、Swagger

一般我们在对接前后端的时候,都需要提供相应的接口文档。对于后端来说,编写接口文档即费时费力,还会经常因为没有及时更新,导致前端对接时出现实际接口与文档不一致。而且手写接口文档还容易出错,而swagger很好的解决了这个痛点。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。可用于:1.接口的文档在线自动生成、2.功能测试。

 

二、在DjangorestFramework中自动生成接口文档drf_yasg

REST framework可以自动帮助我们生成接口文档。

接口文档以网页的方式呈现。

自动接口文档能生成的是继承自APIView及其子类的视图。

# 安装
pip install   drf_yasg

# 添加
INSTALLED_APPS = [
    'drf_yasg',
    'rest_framework'
,   
]
# urls.py

from drf_yasg.views import get_schema_view
from drf_yasg import openapi
schema_view = get_schema_view(
    openapi.Info(
        title="接口文档平台",  # 必传
        default_version='v1',  # 必传
        description="文档描述",
        terms_of_service='',
        contact=openapi.Contact(email="###@qq.com"),
        license=openapi.License(name="BSD LICENSE")
    ),
    public=True,
    # permission_classes=(permissions.)  # 权限类
)
urlpatterns += [
    # re_path(r'^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0)),
    path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger'),
    path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]

 

 

 

 

drf_yasg官网:https://drf-yasg.readthedocs.io/

 

标签:yasg,接口,django,文档,swagger,drf,schema
From: https://www.cnblogs.com/shaoyishi/p/17012314.html

相关文章

  • uwsgj启动django服务 Djangoweb服务的部署采用 Nginx+uWSGI的方式
    1、SQLite3.8.3orlaterisrequired(found3.6.20).2、django.db.utils.Notsupportederror:urlsnotsupported3、nointernalroutingsupport,rebuildwithpcre......
  • Django(2) - Django模板
    1.Django模板介绍基础概念模板是具有一定的格式或骨架,可以动态的生成HTML模板引擎决定以何种方式组织代码一个项目可以有一个或者是多个模板引擎,Django里面主要两个模......
  • WebMvcConfigurer 配置swagger的权限
      importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.......
  • django中间件
    目录django中间件中间件简介自定义中间件(重要)中间件的顺序django中间件两个基本方法django中间件三个了解得方法基于django中间件的功能设计django中间件中间件简介1.流......
  • Windows批处理文件创建文本文档/doc文档
    桌面右键单击新建文本文档修改文件后缀名为.bat如下右键编辑输入如下内容@echoofffor/L%%xin(1,1,25)do@echo%%x>%%x.txtechooff:表示在批处理文件执行过程......
  • django查询中values_list(flat=True) 是什么意思?
    1.values()departments=models.Department.objects.filter(dpm_status=1).values('dnp__name')print(departments)# queryset中是一个个字典。“departments......
  • django 自带auth模块 实现 用户 注册、登录、验证、注销
    Auth模块只要是跟用户相关的登陆、注册、校验、修改密码、注销、验证用户是否登陆 内容详细Auth模块"""其实我们在创建好一个django项目之后直接执行数据库迁移......
  • EB软件使用说明文档
    EB软件目录结构:,重点关注demos, doc, plugins 和 workspace这几个文件夹。demos文件夹内包含一些配置的demo工程,你也可以把自己的工程放到这个路径下; doc文件夹内包含EB......
  • latex文档的中文字体设置
    Latex文档的中文字体设置近日在用latex写论文时遇到了中文字体设置的问题。具体问题如下,正文字体为宋体,摘要和关键词字体为仿宋。作为latex云玩家,我马上百度了中文字体的......
  • Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)
    前言今天给大家介绍的是Python爬取小说数据并保存txt文档,在这里给需要的小伙伴们代码,并且给出一点小心得。首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基......