当前位置: 首页 > news >正文

上海市城市建设投资开发总公司网站南宁网站推广公司

上海市城市建设投资开发总公司网站,南宁网站推广公司,网络结构,中山精品网站建设行情本文以DRF框架为例使用 为什么要接口文档注释 一. 方便后端调试与后续接口更新; 二. 对于大型前后端分离项目,前后端人员是分开开发的,甚至前端的人你都不知道远在何处,这时候接口文档的重要性就太重要了。 三. 接口注释文档常用…

本文以DRF框架为例使用

为什么要接口文档注释

    一. 方便后端调试与后续接口更新;

    二. 对于大型前后端分离项目,前后端人员是分开开发的,甚至前端的人你都不知道远在何处,这时候接口文档的重要性就太重要了。

    三. 接口注释文档常用apidoc和swagger,目前而已swagger较为流行。

本文带你从零到一将swagger用入实际开发

官网URL:https://pypi.org/project/drf-yasg/#quickstart

(本文会把必要操作都实现,不点也可以,毕竟文档全英)

安装:

pip install -U drf-yasg

在外层目录创建目录(命名swagger即可),先创建一个urls.py文件。

全文搜索看你项目的INSTALLED_APPS在哪里,然后在配置文件内加入:

INSTALLED_APPS = [...'django.contrib.staticfiles',  # 为swagger的ui css/js文件提供服务时需要'drf_yasg',...
]

然后写urls,先在外层的urls写入路由:

from swagger import urls as swagger_urlsurlpatterns = [    ...    url(r'^', include(swagger_urls)),     ...]

swagger/urls.py

下列的swagger和redoc其实就是不同模板的视图展示,甚至还有swagger.json和swagger.yaml的API规范的JSON视图与yaml视图

from django.urls import re_pathfrom rest_framework import permissionsfrom drf_yasg.views import get_schema_viewfrom drf_yasg import openapischema_view = get_schema_view(   openapi.Info(      title="Snippets API",      default_version='v1',      description="Test description",      terms_of_service="https://www.google.com/policies/terms/",      contact=openapi.Contact(email="contact@snippets.local"),      license=openapi.License(name="BSD License"),   ),   public=True,   permission_classes=(permissions.AllowAny,),)urlpatterns = [   path('swagger<format>/', schema_view.without_ui(cache_timeout=0), name='schema-json'),   path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),   path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc')]

可以通过手写路由,完成模糊化配置:

re_path(r"^swagger(?P<format>\.json|\.yaml)$", schema_view.without_ui(cache_timeout=0), name="schema-json"),

此时运行项目,在路径后加/swagger:

可以看到类似这种界面↓:

加/redoc可以看到类似这种界面(Download可导出json或yaml文件):

到这里swagger集成的初步工作就完成了。

接下来就是去方法中加注解

@swagger_auto_schema

去标记

例如

1、Get方法获取电话号(method为方法,operation_summary为外注解,operation_description用来表示方法+请求路径,manual_parameters用于声明请求参数,responses展示返回信息,默认会使用当前class指定的serializer):

    @swagger_auto_schema(        method='get',        operation_summary='获取电话',        operation_description="GET /phone/",        manual_parameters=[            openapi.Parameter("id", in_=openapi.TYPE_NUMBER, description="ID", type=openapi.TYPE_NUMBER)        ],        responses={status.HTTP_200_OK:PhoneNumSerializer()})

(manual_parameters中的in_和type需都存在

还有参数depracated=True 表示API已经 被弃用)

2、最简单的使用就↓

    @swagger_auto_schema(        operation_summary='POST摘要',        operation_description='POST的說明:一般用方法+请求路径',    )

还有post添加参数的方式,如:

使用request_body=openapi.Schema(....),required=[请求字段],

还有很多使用参数官网使用即可。

http://www.ds6.com.cn/news/84319.html

相关文章:

  • 网站微博代码新网域名查询
  • cen wordpress亚马逊seo关键词优化软件
  • 如何做Google外贸网站拼多多seo是什么意思
  • 如何做网站分析视频专用客户端app
  • html酒店网站模板百度文库官网首页
  • 做的网站加载太慢怎么办搭建网站费用是多少
  • 人和马做的视频网站怎样开网站
  • 电子商务网站建设效益分析海外推广营销平台
  • 做字体特效的网站天津网络优化推广公司
  • 怎吗做网站挣钱色盲眼镜
  • 有什么做服装的网站淘宝关键词排名查询网站
  • 兰州交通发展建设集团公司网站全网推广的方式有哪些
  • 网站日志百度蜘蛛seo的内容有哪些
  • 软件开发培训出来好找工作吗惠州seo管理
  • 怎么建设一个人自己网站百度商业账号登录
  • wordpress建群站中国营销网官网
  • 创意界面关键词seo优化排名公司
  • 哪些网站可以做微信支付百家号seo
  • 成都网站建设冠辰情感营销案例
  • wordpress外贸主泰安优化关键词排名哪家合适
  • 泉州网站建设seo系统培训哪家好
  • 阿里云网站备案注销吗南京搜索引擎推广优化
  • b2b网站建设费用谷歌商店下载官网
  • 中国工商建设标准化协会网站外贸推广哪个公司好
  • 免备案域名解析优化网站的目的
  • 网站建设进度控制免费的大数据分析平台
  • 广州自助网站搭建建站公司软文批发网
  • 类似游侠客网站建设找公司做网站多少钱
  • 定制营销的例子有哪些网站优化策划书
  • 天眼查公司查询合肥网站关键词优化公司