前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Restful接口开发与测试—集成Swagger

Restful接口开发与测试—集成Swagger

作者头像
清风穆云
发布2021-08-09 11:25:25
6590
发布2021-08-09 11:25:25
举报
文章被收录于专栏:QA一隅

Swagger接口文档生成

接口开发完成了,那么接下来需要编写接口文档。传统的接口文档编写都是使用Word或者其他一些接口文档管理平台,这种形式接口文档维护更新比较麻烦,每次接口有变动时得手动修改文档。因此,针对这种情况,这里推荐使用Swagger来管理接口文档。

Swagger简介

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统(源代码)作为服务器以同样的速度来更新。每当接口有变动时,对应的接口文档也会自动更新。

Tips:http://httpbin.org/#/ 也是利用Swagger生成接口文档。

Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:

  • Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
  • Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
  • Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
  • Swagger 有一个强大的社区,里面有许多强悍的贡献者。

Django 接入Swagger

首先安装 django-rest-swagger

代码语言:javascript
复制
pip install django-rest-swagger

进入到setting.py文件,添加django-rest-swagger应用

代码语言:javascript
复制
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'api',
    'rest_framework_swagger',
]

进入到views.py将之前定义的UserViewSetGroupViewSet补充注释:

代码语言:javascript
复制

from django.contrib.auth.models import User,Group
from rest_framework import viewsets
from api.serializers import UserSerializer,GroupSerializer

# Create your views here.
class UserViewSet(viewsets.ModelViewSet):
    """
        retrieve:
            Return a user instance.

        list:
            Return all users, ordered by most recently joined.

        create:
            Create a new user.

        delete:
            Remove an existing user.

        partial_update:
            Update one or more fields on an existing user.

        update:
            Update a user.
        """
    queryset = User.objects.all()
    serializer_class = UserSerializer

class GroupViewSet(viewsets.ModelViewSet):
    """
        retrieve:
            Return a group instance.

        list:
            Return all groups, ordered by most recently joined.

        create:
            Create a new group.

        delete:
            Remove an existing group.

        partial_update:
            Update one or more fields on an existing group.

        update:
            Update a group.
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

urls.py 添加get_schema_view辅助函数

代码语言:javascript
复制
from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer,OpenAPIRenderer

schema_view=get_schema_view(title='API',renderer_classes=[OpenAPIRenderer,SwaggerUIRenderer])

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include(router.urls)),
    path('api-auth/',include('rest_framework.urls',namespace='rest_framework')),
    path('docs/',schema_view,name='docs')
]

启动服务,然后打开地址:http://127.0.0.1:8000/docs/ 即可看到如下界面:

分别点击groupsusers即可看到自动生成的接口文档。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 QA一隅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Swagger接口文档生成
    • Swagger简介
      • Django 接入Swagger
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档