简要说明 django restframework 的交互式文档
2024-10-07 12:30:53
现在为了解决前后端交互沟通的问题,不少框架都推出了相关的swage库, 用起来似乎很是友好.
正好最近在开发一个小项目,想到新项目就用新版本新技术的理念,我下载了restframework 3.7的版本,突然发现这个版本和django的旧版本有些许不兼容,于是去查看了下文档,惊喜的发现这个库已经集成了交互式API文档的功能了,不得不说,restframework是个有理想有追求的作品.也感慨我这被公司旧项目束缚了眼界的技术面.
好东西立马开始体验,官方给的入门很简单,在根路由文件里注册现成的视图即可简单入门
from django.contrib import admin
from django.conf.urls import url, include
from rest_framework.documentation import include_docs_urls API_TITLE = 'API 交互文档'
API_DESCRIPTION = '有问题单独联系, 仅作为参考文档.' urlpatterns = [
url(r'admin/', admin.site.urls),
url(r'docs/', include_docs_urls(title=API_TITLE, description=API_DESCRIPTION))
]
这样之后,在访问/docs时就会发现这么个界面:
点击绿色的 INTERACT按钮就可打开测试页面,上图中的参数部分本不该出现的,应该在进行了下面的视图配置后才会出现:
import coreapi
from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.schemas import AutoSchema
from apps.cores_base import BaseAPIView # Create your views here. class ProductAPIView(BaseAPIView):
"""商品管理"""
schema = AutoSchema(manual_fields=[coreapi.Field('order', location='query'),coreapi.Field('cls', location='query'),coreapi.Field('store', location='query'),]) def get(self, request):
"""获取商品列表或单个商品"""
params = {
'pk': request.query_params.get('pk'),
'cls': request.query_params.get('cls', None),
'store': request.query_params.get('store', None),
'order': request.query_params.get('order', None)
}
return Response({'status': 0, 'data': params})
新版restframework在APIView视图中加了个类属性 schema (3.6版本就有了).
交互视图显示的查询字符串参数就是上方这么配置的,不然可能无法传递参数.
整体来说,这个交互式文档还是挺不错的.
最新文章
- C#设计模式——解释器模式(Interpreter Pattern)
- Reveal分析IOS界面,plist文件读取
- Autofac全面解析系列(版本:3.5) – [使用篇(推荐篇):1.类型注册]
- .NET对象与Windows句柄(三):句柄泄露实例分析
- VS2012离线安装Xamarin (含破解补丁)
- IOS-归档的使用
- Maven实战(六)--- dependencies与dependencyManagement的区别
- JS 回车提交
- spring集成Apache的ActiveMQ
- java web从零单排第二十二期《hibernate》代码分析之查看,删除用户信息
- [原创] linux deepin 2014.1下编译putty
- Python笔记2.1
- SQL查询【根据生日计算】
- ExtJS初探:在项目中使用ExtJS
- SQL——将表中的最大ID+1插入新的ID中------Insert into 表 MAX(表id) +1
- [JS] Topic - variable and function hoisting
- c# 防止sql注入对拼接sql脚本的各个参数处理
- 读书笔记——spring cloud 中 HystrixCommand的四种执行方式简述
- 《Linux内核精髓:精通Linux内核必会的75个绝技》目录
- [Jobdu] 题目1545:奇怪的连通图