zoukankan      html  css  js  c++  java
  • REST-framework快速构建API--生成Swagger接口文档

    一、Swagger概述

    1.引言

    当接口开发完成,紧接着需要编写接口文档。传统的接口文档使用Word编写,or一些接口文档管理平台进行编写,但此类接口文档维护更新比较麻烦,每次接口有变更,需要手动修改接口文档。为了改善这种情况,推荐使用Swagger来管理接口文档,实现接口文档的自动更新。

    2.Swagger简介

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

    Swagger优势:
    1)Swagger可生成一个具有互动性的API控制台,开发者可快速学习和尝试API
    2)Swagger可生成客户端SDK代码,用于不同平台上(Java、Python...)的实现
    3)Swagger文件可在许多不同的平台上从代码注释中自动生成
    4)Swagger有一个强大的社区,里面有许多强悍的贡献者

    二、Swagger安装和配置

    参考官网:https://github.com/marcgibbons/django-rest-swagger

    1.安装django-rest-swagger

    pip install django-rest-swagger
    

      

    2、配置

    INSTALLED_APPS中添加'rest_framework_swagger'

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'app01.apps.App01Config',
        'rest_framework',
        'corsheaders',
        'rest_framework_swagger', #新增
    ]
    

      

    3.views.py,定义的ModelViewset的说明

    class MarkdownModelView(viewsets.ModelViewSet):
        '''
                    retrieve:
                        Return a markdown instance.
    
                    list:
                        Return all markdown,ordered by most recent joined.
    
                    create:
                        Create a new markdown.
    
                    delete:
                        Remove a existing markdown.
    
                    partial_update:
                        Update one or more fields on a existing markdown.
    
                    update:
                        Update a markdown.
                '''
    
        authentication_classes = [ ]
        queryset = Markdown.objects.all()
        serializer_class = MarkdownModelSerializers
        pagination_class = StandardResultsSetPagination
    

      

    4、新增url

    修改urls文件,新增如下内容:

    from django.conf.urls import url,include
    
    from rest_framework_swagger.views import get_swagger_view
    schema_view = get_swagger_view(title='任务管理系统')
    
    
    url(r'^docs',schema_view)
    

      

    三、测试

    1、访问url

     

    2、查看API方式

     

    3、测试

    GET

    非常好用,其他的方法依葫芦画瓢。

    四、参考文档

    https://github.com/marcgibbons/django-rest-swagger

  • 相关阅读:
    07.精益敏捷项目管理——敏捷发布计划
    06.精益敏捷项目——迭代0:准备第一次迭代
    05精益敏捷项目管理——超越Scrum
    04精益敏捷项目管理——精益组合管理
    22.敏捷估计与规划——Why Agile Planning Works笔记
    21.敏捷估计与规划——Communicating about Plans笔记
    20.敏捷估计与规划——Monitoring the Iteration plans笔记
    18.规划多小组的项目——Planning the Multiple-Team Project笔记
    17.敏捷估计与规划——Buffering Plans for Uncertainty笔记
    16.敏捷估计与规划——Estimating Velocity笔记
  • 原文地址:https://www.cnblogs.com/skyflask/p/10684324.html
Copyright © 2011-2022 走看看