现在为了解决前后端交互沟通的问题,不少框架都推出了相关的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版本就有了).

交互视图显示的查询字符串参数就是上方这么配置的,不然可能无法传递参数.

整体来说,这个交互式文档还是挺不错的.

最新文章

  1. C#设计模式——解释器模式(Interpreter Pattern)
  2. Reveal分析IOS界面,plist文件读取
  3. Autofac全面解析系列(版本:3.5) – [使用篇(推荐篇):1.类型注册]
  4. .NET对象与Windows句柄(三):句柄泄露实例分析
  5. VS2012离线安装Xamarin (含破解补丁)
  6. IOS-归档的使用
  7. Maven实战(六)--- dependencies与dependencyManagement的区别
  8. JS 回车提交
  9. spring集成Apache的ActiveMQ
  10. java web从零单排第二十二期《hibernate》代码分析之查看,删除用户信息
  11. [原创] linux deepin 2014.1下编译putty
  12. Python笔记2.1
  13. SQL查询【根据生日计算】
  14. ExtJS初探:在项目中使用ExtJS
  15. SQL——将表中的最大ID+1插入新的ID中------Insert into 表 MAX(表id) +1
  16. [JS] Topic - variable and function hoisting
  17. c# 防止sql注入对拼接sql脚本的各个参数处理
  18. 读书笔记——spring cloud 中 HystrixCommand的四种执行方式简述
  19. 《Linux内核精髓:精通Linux内核必会的75个绝技》目录
  20. [Jobdu] 题目1545:奇怪的连通图

热门文章

  1. Redis高可用分布式
  2. jQuery .ready()
  3. 【洛谷P1443 马的遍历】
  4. 2009年4月,Twitter宣布他们已经把大部分后端程序从Ruby迁移到Scala
  5. 红米note2 刷机 注意问题:
  6. 函数介绍——MulDiv
  7. JSONPath解析json
  8. virutalenv一次行安装多个requirements里的文件
  9. DropDownList 需要加AutoPostBack="true" ,OnSelectedIndexChanged方法才有效
  10. vue通信之子父组件通信