新猿0基础python教程 如何写好接口文档

Python自动化测试——在线生成接口文档 接口文档是项目开发中必需的说明文档,接口文档编写有很多不同的方式,今天本文简单介绍一下常用的几种接口文档编写方法。 阅读详情

同学们学习python的时候接口文档是比较重要的,接口文档的问题直接影响到我们后续接口的调用以及使用,那么下面我们一起来认真学习下如何写好接口文档。

# 1 HTTP携带信息的方式

- url

- headers

- body: 包括请求体,响应体

# 2 分离通用信息

一般来说,headers里的信息都是通用的,可以提前说明,作为默认参数

# 3 路径中的参数表达式

URL中参数表达式使用[mustache](https://github.com/janl/mustache.js)的形式,参数包裹在双大括号之中`{{paramName}}`

例如:

- `/api/user/{{userId}}`

- `/api/user/{{userType}}?age={{age}}&gender={{gender}}`

# 4 数据模型定义

数据模型定义包括:

- 路径与查询字符串参数模型

- 请求体参数模型

- 响应体参数模型

数据模型的最小数据集:

- 名称

- 是否必须

- 说明

> “最小数据集”(MDS)是指通过收集最少的数据,较好地掌握一个研究对象所具有的特点或一件事情、一份工作所处的状态,其核心是针对被观察的对象建立起一套精简实用的数据指标。最小数据集的概念起源于美国的医疗领域。最小数据集的产生源于信息交换的需要,就好比上下级质量技术监督部门之间、企业与质量技术监督部门之间、质量技术监督部门与社会公众之间都存在着信息交换的需求。

一些文档里可能会加入字段的类型,但是我认为这是没必要的。以为HTTP传输的数据往往都需要序列化,大部分数据类型都是字符串。一些特殊的类型,例如枚举类型的字符串,可以在说明里描述。

另外:`数据模型非常建议使用表格来表现`。

举个栗子?:

| 名称     | 是否必须 | 说明                                             |

| -------- | -------- | ------------------------------------------------ |

| userType | 是       | 用户类型。`commom`表示普通用户,`vip`表示vip用户 |

| age      | 否       | 用户年龄                                         |

| gender   | 否       | 用户性别。`1`表示男,`0`表示女                   |

# 5 请求示例

```

// general 

POST http://www.testapi.com/api/user

// request payload

{

    "name": "qianxun",

    "age": 14,

    "like": ["music", "reading"],

    "userType": "vip"

}

// response

{

    "id": "asdkfjalsdkf"

}

```

# 6 异常处理

异常处理最小数据集

- 状态码

- 说明

- 解决方案

举个栗子?:

| 状态码 | 说明             | 解决方案                   |

| ------ | ---------------- | -------------------------- |

| 401    | 用户名密码错误   | 检查用户名密码是否正确     |

| 424    | 超过最大在线数量 | 请在控制台修改最大在线数量 |

之前我一直不想把解决方案加入异常处理的最小数据集,但是对于很多开发者来说,即使它知道`424`代表`超过最大在线数量`。如果你不告诉如果解决这个问题,那么他们可能就会直接来问你。所以最好能够一步到位,直接告诉他应该如何解决,这样省时省力。

# 7 如何组织?

## 7.1 一个创建用户的例子:创建用户

**1 请求示例**

```

// general 

POST http://www.testapi.com/api/user/vip/?token=abcdefg

// request payload

{

    "name": "qianxun",

    "age": 14,

    "like": ["music", "reading"]

}

// response

{

    "id": "asdkfjalsdkf"

}

```

**2 路径与查询字符串参数模型**

`POST http://www.testapi.com/api/user/{{userType}}/?token={{token}}`

| 名称     | 是否必须 | 说明                                             |

| -------- | -------- | ------------------------------------------------ |

| userType | 是       | 用户类型。`commom`表示普通用户,`vip`表示vip用户 |

| token    | 是       | 认证令牌                                         |

**3 请求体参数模型**

| 名称 | 是否必须 | 说明               |

| ---- | -------- | ------------------ |

| name | 是       | 用户名。4-50个字符 |

| age  | 否       | 年龄               |

| like | 否       | 爱好。最多20个     |

**4 响应体参数模型**

| 名称 | 说明   |

| ---- | ------ |

| id   | 用户id |

**5 异常处理**

| 状态码 | 说明               | 解决方案                   |

| ------ | ------------------ | -------------------------- |

| 401    | token过期          | 请重新申请token            |

| 424    | 超过最大在创建人数 | 请在控制台修改最大创建人数 |

## 7.2 这样组织的原因

1. `请求示例`: 请求示例放在第一位的原因是,要用`最快的方式`告诉开发者,这个接口应该如何请求

2. `路径与查询字符串参数模型`: 使用`mustache`包裹参数

3. `请求体参数模型`:如果没有请求体,可以不写

4. `响应体参数模型`:

5. `异常处理`

# 8 文档提供的形式

文档建议由一下两种形式,`在线文档`,`pdf文档`。

- `在线文档`

  - 更新方便

  - 易于随时阅读

  - 易于查找

- `pdf文档`

  - 内容表现始终如一,不依赖文档阅读器

  - 文档只读,不会被轻易修改

其中由于是面对第三方开发者,`公开的在线文档必须提供`;由于某些特殊的原因,可能需要提供文件形式的文档,建议提供pdf文档。当然,以下的文档形式是`非常不建议`提供的:

- word文档

- markdown文档

word文档和markdown文档有以下缺点:

- `文档的表现形式非常依赖文档查看器`:各个版本的word文档对word的表现形式差异很大,可能在你的电脑上内容表现很好的文档,到别人的电脑上就会一团乱麻;另外markdown文件也是如此。而且markdown中引入文件只能依靠图片链接,如果文档中含有图片,很可能会出现图片丢失的情况。

- `文档无法只读`:文档无法只读,就有可能会被第三方开发者在不经意间修改,那么文档就无法保证其准确性了。

总结一下,文档形式的要点:

- `只读性`:保证文档不会被开发者轻易修改

- `一致性`:保证文档在不同设备,不同文档查看器上内容表现始终如一

- `易于版本管理`:文档即软件(DAAS: Document as a Software),一般意义上说`软件 = 数据 + 算法`, 但是我认为`文档也是一种组成软件的重要形式`。既然软件需要版本管理,文档的版本管理也是比不可少的。

新猿0基础python教程 Python操作FastDFS ## 1 启动FastDFS ```python # 拉取镜像 docker pull liuqingzheng/fastdfs:v1 # 创建目录 mkdir /home/tracker mkdir /home/storage # 使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用) docker run -d --network=host --name tracker -v /home/tracker:/var/fdfs liuqingzheng/fastdfs:v1 阅读详情

相关推荐

【0基础学Python教程系列】(一)Python 环境搭建,包含Windows、Unix & Linux系统Python安装教程

【0基础学Python教程系列】(一)Python 环境搭建,包含Windows、Unix & Linux系统安装Python。 目录: 一、Python介绍 二、Python下载 三、Python安装 Unix & Linux 平台安装 Python: Window系统安装Python: MAC 平台安装 Python: 环境变量配置 在 Unix/Linux ...

云度 6146

python | 识别项目中的接口并生成接口文档

通过python识别Java项目中的接口并生成docx和xls类型的文档

清风半夜鸣蛙 1189

深交所 vs 上交所:Level-2实时数据推送规则详解与策略适配指南

本文深度解析沪深Level-2实时数据推送规则的关键差异,包括逐笔成交、逐笔委托和10档行情接口的处理逻辑。针对高频交易策略,详细对比上交所与深交所在数据推送机制、时间戳处理及委托队列解析等方面的差异,并提供具体的策略适配方案和性能优化建议,帮助量化投资者提升跨市场交易稳定性。

weixin_27310417的博客 1165

如何写好接口文档?

1 HTTP携带信息的方式 url headers body: 包括请求体,响应体 2 分离通用信息 一般来说,headers里的信息都是通用的,可以提前说明,作为默认参数 3 路径中的参数表达式 URL中参数表达式使用mustache的形式,参数包裹在双大括号之中{{paramName}} 例如: /api/user/{{use...

weixin_33720452的博客 494

STM32F4_DHT11数字温湿度传感器

开机的时候先检测是否有DHT11存在,如果没有,则提示错误。DHT11和DS18B20相同,传感器输出的都是未编码的二进制数字。本节我们将利用STM32F4来读取DHT11的温湿度传感器,获取环境的温度和湿度值。因此:温湿度的读取方式就是整数部分的二进制转换成十进制放在整数部分;小数部分的二进制转换成十进制放在小数部分。DHT11和MCU的一次通讯时间最大3ms,主机连续向DHT11采样的间隔建议不小于100ms。DHT11是广州奥松有限公司生产的一款温湿度一体化的数字传感器。数据分小数部分和整数部分。

light_2025的博客 3432

银河麒麟系统完美安装EasyConnect

Kylin V10桌面版完美安装EasyConnect

weixin_53874797的博客 1万+

新猿0基础python教程 如何写好接口文档_2

# 如何写好接口文档 # 1 HTTP携带信息的方式 -url -headers -body: 包括请求体,响应体 # 2 分离通用信息 一般来说,headers里的信息都是通用的,可以提前说明,作为默认参数 # 3 路径中的参数表达式 URL中参数表达式使用[mustache](https://github.com/janl/mustache.js)的形式,参数包裹在双大括号之中`{{paramName}}` 例如: -`/api/user/{{userId}}` -`/a...

laoliupython的博客 184

搭建 Newman + Postman + Git + Jenkins 环境教程

一步步搭建 Newman、Postman、Git 和 Jenkins 的环境。这些工具常用来做 API 测试和 CI/CD 自动化,尤其是 Postman 和 Newman 搭配 Git 和 Jenkins,能实现 API 集合的版本管理和自动测试。

Criss@陈磊 436

python小猿口算AI外挂程序,从此又多了一方势力炸鱼

速度怎么说呢,只能欺负欺负小学生了,遇到手速快一点的估计要被炸鱼了,还有orc识别的准确率其实不高,偶尔会遇到识别不了的,我能力有限,希望有高手能再优化优化我的代码吧。

a2044839366的博客 1万+

Docker/Hyper-V/Wsl2等虚拟化组件一键切换工具 (附源码, Docker Desktop开发模式与三角洲游戏模式一键切换工具)

开启 Docker、Hyper-V 或 WSL2 后游戏无法启动?🎮💻 本文教你用一键批处理工具⚡快速切换“开发/游戏模式”,开发娱乐两不误!🔄✨

XiaoqiangClub的博客 700

ros入门(八)---TF坐标转换

TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。

weixin_51157015的博客 3389

0.1s速通小猿口算保姆教程

0.1s快速通过小猿口算

0x3F3F3F3F 7295

chembl_webresource_client 包数据接口下载chembl数据库;ZINC数据库下载、simles获取

点击进去https://zinc.docking.org/subclasses/kinase/predictions/,然后下载sdf模式,这里可以转化simles格式,如果下载csv里面没有包含simles。参考:https://github.com/chembl/chembl_webresource_client/blob/master/demo_wrc.ipynb。参考:https://zinc.docking.org/这是网页搜索查看,16条数据。这个数据这下载特别慢。

weixin_42357472的博客 3052

小猿口算炸鱼脚本

最近小猿口算已经被不少大学生攻占,小学生直呼有挂。原本是以为大学生都打着本科一年级也是一年级,研一也是一年级,博一也是一年级的口号,凭借自己实力去欺负小学生呢。没曾想竟然是大学生通过脚本刷题。

qq_73427280的博客 1万+

即插即用系列(代码实践) | CVPR 2025 WPFormer:小波与原型增强Transformer——表面缺陷检测SOTA,专治弱缺陷与杂乱背景

摘要:本文提出了一种基于小波变换和原型增强的Transformer模型(WPFormer),用于像素级表面缺陷检测。该模型针对工业场景中微弱缺陷难以识别和杂乱背景干扰严重的问题,创新性地将小波变换引入Transformer的注意力机制,通过频域信息分离噪声与边缘特征,同时利用原型向量引导查询,实现了更精准的缺陷定位。核心模块包括小波增强交叉注意力(WCA)和原型引导交叉注意力(PCA),适用于工业缺陷检测、伪装目标检测和医学图像分割等任务。代码已开源,支持即插即用集成到现有框架中。

分享顶会顶刊论文即插即用模块 301

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

小猿口算 基于pytesseract和pynput的高速ocr比大小

小猿口算比大小的ocr自动化方案

qq_18813685的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老猿Python博文汇总目录--按标题排序

☞ ░ 前往老猿Python博文目录 ░ 本部分为老猿优快云全部博文的汇总(含转载部分),所有文章在此未进行归类,仅按文章标题排序。 BloomFilte布隆过滤器简介 优快云-markdown编辑器使用方法 HTTP请求头和响应头详解【转】 HTTP响应报文应答状态码及含义 IT人的5G网络架构视点:从网络架构演进的前世今生详解5G各NF网络功能体 Model/View开发小结 PyCharm中怎么将非当前工程文件的目录的文件加到当前工程中 PyQt Designer中带参数的信号为什么匹配不到带参

老猿Python 5002

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

新猿0基础python教程 Linux入门介绍

# 一 什么是操作系统 ```python Operating System(操作系统) 简称OS Windows,MacOS,Linux都是操作系统 ``` # 二 什么是BootLoader ```python # 在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境 # 一般在计算机启动的时候,选择启动Linux还是Windows的BootLoad

laoliupython的博客 1163

小猿圈分享适合零基础学python的书籍

近几年python这门语言可谓是出尽了风头,排名越来越靠前,用的人越来越多,所以市面上培训python的机构也数不胜数,当人了有些人不方便去参加培训班的同学,就选择了自学,今天小猿圈就给大家分享。 一、《Learn Python the Hard Way》—《“笨办法”学Python(第3版)》 《“笨办法”学Python(第3版)》 这本书是有名的Python入门书籍,有中文版的。这本书针对于对...

乐乐老师的博客 2038

猿编程python,python编程猿

python编程猿,是一款在线教育的使用学习软件,我们日常生活中遇到所有的智能化东西都离不开代码支持,在软件中海量的代码知识的学习,让你随时随地都可以在线学习如何敲代码,让你能够学习到更多知识,觉得不错的用户快来下载吧。python编程猿软件特色这里包括的学习知识更加的全面,更好的知晓不同内容实时了解的便捷。针对最全的知识更好的在线学习和了解,让你可以根据自己的情况学习最全的各类信息。包括的各类信...

weixin_30512965的博客 1235

小猿口算Pk基础版

小猿口算pk(分数和整数)基础版 主要python 源程序 ```python import time import pytesseract from PIL import Image, ImageEnhance, ImageFilter, ImageOps import re import subprocess def preprocess_image(image): # 将图像转换为灰度图 image = image.convert('L') # 增强对比度 enh

m0_73590570的博客 2414

猿快键-2.0

程序员专用,快速打开控制台/资源管理器,禁用按键/快捷键/鼠标。

m0_74389553的博客 790

猿编程python_猿编程下载-猿编程客户端 v2.12.0.1103 官方版 - 安下载

猿编程客户端提供编程功能,可以在软件学习Python语言,提供开发专业编辑器,学习真正的代码编程Python语言,通过直播的方式查看老师讲解的课程内容,学习老师是如何通过编程的方式开发游戏和动画的,学习完毕就可以启动编辑器在软件上练习编程,可以自己输入代码内容创建学生作品,软件通过直播课程教授孩子编程知识,提供沉浸式直播教学模式,实时交互交流,学习效率更高,提供科学教学方案,保证学习效果,学生可以...

weixin_36383052的博客 1846

小猿口算作弊

源码:https://github.com/Hawcett/XiaoYuanKouSuan_Frida_hook/blob/main/xyks.py。仓库:https://github.com/Hawcett/XiaoYuanKouSuan_Frida_hook/来源于https://github.com/Hawcett/XiaoYuanKouSuan_Frida_hook。print(‘原始花费时间:’, json_data[‘costTime’])input() # 保持程序运行。

weixin_45997442的博客 4179
上一篇: 新猿0基础python教程 Redis版本介绍
下一篇: 新猿0基础python教程 Python操作FastDFS
和老刘学python
博客等级 码龄5年 1粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值