关于swagger

https://www.jianshu.com/p/349e130e40d5
Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:
– Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
– Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
– Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
– Swagger 有一个强大的社区,里面有许多强悍的贡献者。

使用版本

 

Django==3.1.2

 

djangorestframework==3.12.2

drf-yasg==1.20.0

此处我的django版本是3.+,而django-swagger不支持3.+版本,所以引用drf-yasg模块,django3.0以下的版本可以直接用django-swagger,这里具体介绍drf-yasg的基本用法

 

修改settings.py

INSTALLED_APPS = [
 ......
'drf_yasg',  
'rest_framework',
 ......
]

 

添加url.py

项目根目录的url文件最上面,添加文档描述

from drf_yasg.views import get_schema_view
from drf_yasg import openapi

# swager文档
schema_view = get_schema_view(
    openapi.Info(
        title="测试项目API",
        default_version='v1.0',
        description="测试工程接口文档",
        terms_of_service="https://www.baidu.com",
        contact=openapi.Contact(email="baidu@163.com"),
        license=openapi.License(name="BSD License"),
    ),
    public=True,
)

添加路由

urlpatterns = [
  ... # swager 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'), ]

 

api文档编写

 

from drf_yasg.utils import swagger_auto_schema
from rest_framework.views import APIView

class testUrl(APIView):
    # 使用该装饰器
    @swagger_auto_schema()
    def post(self, request):
        pass

 

 

此时一个最简单的接口文档便写好了,可以先打开swagger地址查看接口文档。

 

启动服务进入:http://127.0.0.1:8000/swagger/

 

版权声明:本文为huxiansheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/huxiansheng/p/14475489.html