API接口数据自检
这个周末的娱乐,通用模块,让后端自检,严格客户端按照文档的要求来,妈妈再也不担心我加班了,对某些团队来说,可能根本用不着,本是想到就尝试一把而已。
哎,傻X的客户端程序员,时间都去推辞扯淡打扮啦,好好的文档还不足够,三项而已:接口地址、请求类型、必填及选填参数,老接口调错而错误不自知。
check-docking.
https://pypi.python.org/pypi/check-docking/
check-docking is a Python package that inspect request data from client for you.
介绍:
仅为总结前项目的经验, 在后续项目上, 接口文档的定义入库, 结合入库的数据生成配置文件.
根据生成的配置文件, 当客户端与服务端对接时, 让程序能够自动检查客户端的传入, 并将问题返回给客户端.
该模块的目的在于减少客户端开发过程中, 在琐屑问题上对服务端的干扰. 如请求类型错误, 多参, 少参, 重参, 数据类型错误, 是否必填项等等.
使用:
- 配置settings.py修改:
# check-docking配置项
IS_DATA_INSPECT = True # 仅 DEBUG 为 True 时有效
INSPECT_PROFILE = “project.check_config” # 检测依赖配置文件模块
- INSTALLED_APPS 增加:
‘check_docking’,
‘check_docking.stored.django’,
下面两项非必须, 需要完成使用流程节点, 生成依赖的配置文件后启用其一.
MIDDLEWARE_CLASSES 增加:
‘check_docking.middleware.InspectMiddleware’
除了MiddleWare形式, 你也可以使用装饰器形式:
from check_docking.inspect import debug_request
@debug_request
你还可以使用工具, 从源代码中搜集数据并入库, 具体可以参看project_demo/demo/demo.py中代码.
流程:
python manage.py syncdb
python manage.py runserver
http://127.0.0.0:8000/admin 录入数据.
python manage.py inspectprofile
API接口数据自检的更多相关文章
- PHP--通用化API接口数据输出 封装
/** * 通用化API接口数据输出 * author qinpeizhou * @param $message * @param array $data * @param int $httpCode ...
- 微信小程序入门教程(一)API接口数据记录
今天测试用小程序调用API接口,发现有些数据打印都是对象,怎么全部打印详细点来 小程序代码: httpsearch: function (name, offset, type, cb) { wx.re ...
- React 获取服务器API接口数据:axios、fetchJsonp
使用axios.fetchJsonp获取服务器的接口数据.其中fetchJsonp是跨域访问 一.使用axios 1.安装axios模块 npm install --save axios 2.引用模块 ...
- 使用js+Ajax请求API接口数据-带请求头方式
C# http请求带请求头部分 先上代码: <script type="text/javascript"> function zLoginCheck() { var A ...
- C# 后台获取API接口数据
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- Json API接口数据生成
偶然发现,对前端数据模拟挺好用,没有跨域问题 https://myjson.com/
- 免费的无次数限制的各类API接口(2)
之前整理过一些聚合数据上的免费API(各类免费的API接口分享,无限次),这次还有一些其他的进行了整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以 ...
- 各类无次数限制的免费API接口整理
各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...
- 【thinkphp5】使用tp5开发api接口 定义全局异常处理
1 新建文件夹以及文件 路径: /application/lib/exception/ExceptionHandler.php 并键入以下代码 <?php namespace app\lib\e ...
随机推荐
- XRP共识算法
目录 共识协议属性 账本历史 信任的验证 共识协议属性 XRP Ledger使用的共识协议不同于之前的任何区块链.该协议称为XRP Ledger共识协议,旨在具有以下重要属性: 使用XRP Ledge ...
- VSCode基本配置
功能:保存时自动按ESLint规范格式化代码 + stylus配置(需安装Manta's Stylus Supremacy插件) { "editor.fontSize": 18, ...
- Knockout.js Visible绑定
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- Spring与SpringMVC的关系
在此鉴于你已经了解过Spring的相关知识,简单描述一下Spring与Spring的关系 在框架的使用中,Spring类似于一个具有多种特性,也可以说是多种功能模块的应用平台,(特性就比如IoC,AO ...
- 经典的SQL面试题及答案
- tensorflow(一):图片处理
一.图片处理 1.图片存取 tf.gfile import tensorflow as tf import matplotlib.pyplot as plt image_bytes = tf.gfil ...
- GString惰性求值
当对一个GString实例求值时,如果其中包含一个变量,该变量的值会被简单地打印到一个Writer,通常是一个StringWriter.然而,如果GString中包含的是一个闭包,而非变量,该闭包就会 ...
- 并发模型之Master-Worker设计模式
一.Master-Worker设计模式 Master-Worker模式是常用的并行设计模式.它的核心思想是,系统有两个进程协议工作:Master进程和Worker进程.Master进程负责接收和分配任 ...
- Python Django ORM基本增删改查
工程下的urls.py中增加如下: from cmdb import views as cmdb #要把你要操作的项目import进来 urlpatterns = [ url(r'orm', cmdb ...
- Code Signal_练习题_arrayChange
You are given an array of integers. On each move you are allowed to increase exactly one of its elem ...