REST-framework快速构建API--生成Swagger接口文档

作者:@skyflask
转载本文请注明出处:https://www.cnblogs.com/skyflask/p/10684324.html


目录

一、Swagger概述
二、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

1
pip install django-rest-swagger

  

2、配置

INSTALLED_APPS中添加'rest_framework_swagger'

1
2
3
4
5
6
7
8
9
10
11
12
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的说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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文件,新增如下内容:

1
2
3
4
5
6
7
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

posted @   skyflask  阅读(646)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示