首页 > 其他分享 >drf 生成接口文档

drf 生成接口文档

时间:2022-10-24 17:44:06浏览次数:78  
标签:接口 django 文档 urls contrib path include drf

生成接口文档

21.1 coreapi的使用

安装依赖

pip install coreapi

配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',  # django原生接口
    'app01',  # drf接口
    'sers',  # 序列化器的使用
    'req',  # drf提供的请求与响应
    'viewdemo',  # 视图
    'school',  # 序列化器的嵌套
    'opt',  # drf组件
    'django_filters',  # 过滤
    'coreapi',  # 生成接口文档
    'rest_framework',
]

REST_FRAMEWORK = {
	......
    # 接口文档生成
    'DEFAULT_SCHEMA_CLASS':'rest_framework.schemas.AutoSchema',
}

路由

from django.contrib import admin
from django.urls import path, include
from rest_framework.documentation import include_docs_urls

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/',include('app.urls')),
    path('api/', include('app01.urls')),
    path('sers/', include('sers.urls')),
    path('req/', include('req.urls')),
    path('viewdemo/', include('viewdemo.urls')),
    path('school/', include('school.urls')),
    path('opt/', include('opt.urls')),
    path('docs/', include_docs_urls(title="drf教程api接口文档")),
]

访问接口文档

GET 127.0.0.1:8000/docs/

x2Tnpt.png

21.2 yasg的使用

安装依赖

pip install drf-yasg

配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',  # django原生接口
    'app01',  # drf接口
    'sers',  # 序列化器的使用
    'req',  # drf提供的请求与响应
    'viewdemo',  # 视图
    'school',  # 序列化器的嵌套
    'opt',  # drf组件
    'django_filters',  # 过滤
    'coreapi',  # 生成接口文档
    'drf_yasg',  # 生成接口文档
    'rest_framework',
]

路由

import rest_framework.permissions
from django.contrib import admin
from django.urls import path, include
from rest_framework.documentation import include_docs_urls

# yasg的视图配置类,用于生成api
from drf_yasg.views import get_schema_view
from drf_yasg import openapi

schema_view = get_schema_view(
    openapi.Info(
        title="drf教程api文档",  # 必须
        default_version="v1.0.0",  # 必须
        description="drf学习时写的案例,现在生成一个接口文档",
        terms_of_service='',
        contact=openapi.Contact(email="[email protected]"),
        license=openapi.License(name="闵麒良"),
    ),
    # public=True,  # 所有人访问
    permission_classes=[rest_framework.permissions.IsAuthenticated],  # 权限类,和上面的互斥
)
urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('app.urls')),
    path('api/', include('app01.urls')),
    path('sers/', include('sers.urls')),
    path('req/', include('req.urls')),
    path('viewdemo/', include('viewdemo.urls')),
    path('school/', include('school.urls')),
    path('opt/', include('opt.urls')),
    path('docs/', include_docs_urls(title="drf教程api接口文档")), # coreapi
    path('doc/', schema_view.with_ui("swagger",cache_timeout=0),name="schema-swagger"), # swagger
]

访问接口文档

GET 127.0.0.1:8000/doc/

x2TK6f.png

标签:接口,django,文档,urls,contrib,path,include,drf
From: https://www.cnblogs.com/minqiliang/p/16822239.html

相关文章

  • 基于Mixin扩展类和GenericAPIView实现接口
    基于Mixin扩展类和GenericAPIView实现接口10.1扩展类简介(1)ListModelMixin列表视图扩展类,提供list(request,*args,**kwargs)方法快速实现列表视图,返回200状态码。该......
  • 基于视图子类实现接口
    基于视图子类实现接口11.1视图子类介绍(1)CreateAPIView提供post方法继承自:GenericAPIView、CreateModelMixin(2)ListAPIView提供get方法继承自:GenericAPIView......
  • 基于视图集实现接口
    基于视图集实现接口12.1视图集的简介使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中:list()提供一组数据retrieve()提供单个数据create()创建数据upd......
  • OpenAPI 接口幂等实现
    OpenAPI接口幂等实现1、幂等性是啥?进行一次接口调用与进行多次相同的接口调用都能得到与预期相符的结果。通俗的讲,创建资源或更新资源的操作在多次调用后只生效一次。......
  • Django drf 权限
    Djangodrf权限15.1权限身份验证或身份识别本身通常不足以获取信息或代码的访问权限。因此,请求访问的实体必须具有授权。—AppleDeveloperDocumentation连同认证......
  • drf视图中调用的请求和响应类
    drf视图中调用的请求和响应类8.1request如果使用视图的时候使用的是drf中的视图(如:APIView),而不是django的视图(View),那么视图中调用的请求对象request不再是原来的req......
  • List接口的常用方法和遍历方式
    packagecom.msb.test01;importjava.util.ArrayList;importjava.util.Iterator;/***@author:liu*日期:16:47:13*描述:IntelliJIDEA*版本:1.0*/p......
  • 使用DRF实现五个api接口
    使用DRF实现五个api接口2.1新建appdjango-adminstartappapp012.2配置环境#注册app01和rest_framework,由于drf提供了web调试界面,所以静态文件功能不能注释掉,不然......
  • ASP.NET Web API RC版本新特性:Web API的帮助文档制作
    InfoQ上有一篇文章是使用IAPIExplorer列举ASP.NETWebAPI,文章针对的版本是ASP.NETWebAPIBeta版本写,IAPIExplorer已经包含在RC版本里了...InfoQ......
  • httppost请求jwt接口,basic认证
    ///<summary>///jwt验证接口///</summary>///<paramname="url"></param>///<paramname="data"></param>///<ret......