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

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

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

简要说明 django restframework 的交互式文档的更多相关文章

  1. django自动生成接口文档

    我们在实际项目中,会需要将我们的一些接口的信息返回给前端,便于前后端的交互,在实际使用中,这种自动生成接口文档的模块很多,我主要是用REST framework自动生成接口文档,这个需要用到的是cor ...

  2. Django 2.1.3 文档

    https://blog.csdn.net/lengfengyuyu/article/details/83342553#3_23

  3. 微软开源 Try .NET - 创建交互式.NET文档

    微软近日开源了一个新平台--Try .NET,该平台可以让开发者在线上编写并运行 .NET 代码.微软介绍,Try .NET 是一个可嵌入的代码运行器,不仅可以直接在线上对自己或者他人的代码进行编辑. ...

  4. 推荐个开源在线文档,助道友领悟 Django 之“道”

    本文面向有手(需要一点点 Python Django 基础)的小伙伴,急需文档管理者食用最佳. 作者:HelloGitHub-吱吱(首发于 HelloGitHub 公众号) 嗷嗷待哺的小白:" ...

  5. 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)

    对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你 ...

  6. ASP.NET Core 中文文档 第二章 指南 (09) 使用 Swagger 生成 ASP.NET Web API 在线帮助测试文档

    原文:ASP.NET Web API Help Pages using Swagger 作者:Shayne Boyer 翻译:谢炀(kiler) 翻译:许登洋(Seay) 对于开发人员来说,构建一个消 ...

  7. 如何生成RestFul Api文档

    Web API文档工具列表Swagger ——Swagger框架可以通过代码生成漂亮的在线API,甚至可以提供运行示例.支持Scala.Java.Javascript.Ruby.PHP甚至 Actio ...

  8. Spring Boot中使用Swagger2构建API文档

    程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...

  9. Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正)

    Django 2.0官方文档中文 渣翻 总索引(个人学习,欢迎指正) 置顶 2017年12月08日 11:19:11 阅读数:20277 官方原文: https://docs.djangoprojec ...

随机推荐

  1. USACO2018 DEC(Platinum) (树上乱搞,期望+凸包)

    发现这跟\(Gold\)难度简直天差地别啊.. \(T1\) 传送门 解题思路 这道题还是很可做的,发现题意可以传化成一棵树每次从叶子节点删边,然后有\(m\)条限制,形如\(a\)在\(b\)前面删 ...

  2. picker组件 label组件讲解

    label组件:包住表单的组件,将里面的表单和label里的元素,紧紧的包在一起,当触发label里的元素,就相当于触发了表单组件 属性:for:类型 字符串 表单的 id 的值 picker组件:是 ...

  3. docker 提高效率 network-bridging 桥接

    安装的时间顺序 bit3 192.168.107.128 wredis 192.168.107.129 wmysql 192.168.107.130 wslave 192.168.107.131 w ...

  4. Delphi XE2 之 FireMonkey 入门(9) - TBitmap

    TBitmap 主要成员: { 方法 } SetSize();              //设置大小 Clear();                //取消, 就是用指定颜色覆盖 ClearRec ...

  5. SQLServer中的top、MySql中的limit、Oracle中的rownum

    (1)在SQL Server中,我们使用 select top N * from tablename来查询tablename表中前N条记录. (2)在MySQL中,我们使用select * from ...

  6. 学习《Oracle PL/SQL 实例讲解 原书第5版》---创建student schema

    接上篇,运行脚本createStudent.sql后结果不符. 又运行了一遍rebuildStudent.sql就好了. 图: 原来是这样的,还以为是语言问题: 额,本来是打算截图的.但是发现没问题了 ...

  7. Git016--Work

    GIT常用命令 git常用命令: //初始化git目录: $ git init //把当前目录变成git可以管理的仓库 //添加文件到暂存区 $ git add file //把文件添加到仓库 $ g ...

  8. 21次C++作业

    //第一题目 class A //A为基类 {public: void f1( ); int i; protected: void f2(); int j; private: int k; }; /* ...

  9. VSL基础

    VSL是Virtools提供的一个非常有创意的脚本语言,它以输写代码的方式(区别于Virtools现有的图形化编程界面)进行编程开发,提高了程序的可读性和工作效率. 下图的功能是:将一个3D物体拷贝出 ...

  10. Java集合概括总结及集合选用

    Collection 1. List ArrayList :Object数组,是一个数组队列,相当于动态数组.它由数组实现,随机访问效率高,随机插入.随机删除效率低. LinkedList :是一个双 ...