美文网首页
关于接口文档的建议

关于接口文档的建议

作者: 猪儿打滚 | 来源:发表于2019-11-10 10:53 被阅读0次

请求内容

  • 接口名
  • 接口描述
  • 请求方法
  • 请求参数
    1.字段名
    2.是否必填
    3.类型
    4.备注(详细描述当前参数的逻辑、各种情况下对应的错误码。比如:长度限制;若是必填字段,不填写会对应什么错误码,或者不填写忽略当前请求但请求响应是200;若是限制值的字段,如果填写非指定值会怎么样处理以及对应错误码;若是long,如果填写float,是否会向下取整...)

响应内容

  • 响应数据格式为json
  • 响应结果需统一结构,比如由data、errorCode、msg组成的json内容

响应结果

  • 成功的
  • 失败的(错误码的说明,此处可和上面的备注内容相关联)

PS

  • 主要是入参的不同和响应结果的对应关系尽量详细,以便接口测试能够更顺利进行,减少测试和后端在接口逻辑的沟通上所花的时间。
  • data需是对象,其他值则是data的一个属性,比如{data:{name:zhangsan}},为空时则是{data:{}}
  • 请求类型
    GET :获取数据使用 GET 请求
    POST :数据操作使用 POST 请求,对安全性有要求的/参数较多不适合用 GET 请求的接口,可以用 POST 请求
  • 命名规范
    1.url中统一使用小写字母,url是对大小写敏感的,为了避免歧义,统一使用小写
    2.资源路径使用名词,结尾使用动词(短语)命名,如 /user/get?id=1,user 为资源路径
    3.通用接口名命:获取单个资源用 /get,更新资源用 /update,删除资源用 /delete,增加资源用 /add 或 /save
    4.使用 "-" 分割 url 中的单词,如 /user/get-by-name
    5.接口命名尽量语义化,不要出现易于理解或暴露具体实现方案的命名。如系统中提供两个接口,一个查询 es 提高查询效率,一个查询 mysql 保证实时性,不要命名成 /user/es/get,/user/mysql/get。而是用更加通俗的表述代替,如 /user/

二、示例

  • 接口:获取用户信息
  • 描述 :根据用户id获取用户信息
  • 请求方式 :GET
  • 路径 :/user/
  • 参数 :
参数名 是否必传 类型 备注
id number 用户id
  • 成功响应示例 :
 1{
 2  "ok": true,
 3  "code": 200,
 4  "data": {
 5    "username": "哈哈",
 6    "age": 20,
 7    "email": "24*******@qq.com"
 8  },
 9  "msg": null
10}
  • 失败响应示例 :
1{
2  "ok": false,
3  "code": 1000001,
4  "data": null,
5  "msg": "用户不存在"
6}

下面是为什么写这个文档的原因(吐槽给老大,老大就叫我写文档,然后给后端讨论,所以说吐槽需谨慎)

背景

一个基础模块需要做接口测试,因为各种原因(时间急+后端懒),接口文档不完善,但抱着互相理解的精神,硬着头皮先上了。期间遇到异常情况会怎么样处理等逻辑问题,就和后端进行沟通(很影响效率)
并且后来因为各种情况,导致架构设计都改变(设计阶段,发现问题并修改),原因如下,但不仅限于:路径的不规范、请求方法的不规范、开始用于加快查询的二进制数字段不能用(因为所使用的插件不能根据二进制分表)、字段的类型不符合场景(一个字段的类型改成了对象,该字段用来存储的是key-value结构的数据,可以用于搜索和统计)、逻辑的改变等。。。
所以就导致接口测试要不断修改和回归,因为时间原因(主要重复工作觉得烦),然后打算写脚本来跑(脚本优点:封装起来修改很快;灵活,想要什么就自己写)
但是因为文档很不规范,连参数错误对应的响应数据都没,所以导致判断条件也写的很粗暴,影响测试质量(很多错误是直接500,有些字段不符合规则直接略过不执行但是却还响应200,很不规范)
其实各种不规范也是可以理解,因为这个项目组组成不久,时间又急,这种详细设计文档,大佬没时间来写,负责的后端人员就随性发挥了。

相关文章

  • 关于接口文档的建议

    请求内容 接口名 接口描述 请求方法 请求参数1.字段名2.是否必填3.类型4.备注(详细描述当前参数的逻辑、各种...

  • 如何进行接口测试

    1、审核接口文档 接口文档建议邀请项目组相关成员做下评审,主要是看文档是否能满足需求,如果不能评审,自己能好...

  • 关于接口文档的思考

    接口是什么?广义的说,在设计软件时,软件与外部系统的一切交互称为接口,比如“用户接口”(GUI, 一个图形界面的程...

  • 关于接口描述文档内容要求

    title: "附: 关于接口描述的文档内容要求"date: <2021-01-17 日>tags: [接口设计,...

  • JPush Java SDK 示例代码与简要注释

    建议使用JPush 服务端SDK的人都先看下接口文档,了解推送api,具体链接:JPush v3 推送api文档 ...

  • Vue应用框架整合与实战--前后端分离后的开发模式篇

    开发流程 后台编写和维护接口文档,在 API 变化时更新接口文档 后台根据接口文档进行接口开发 前端根据接口文档进...

  • 接口测试--接口文档规范

    接口测试的依据,往往不是需求文档,而是接口文档。 那么,接口文档的准确性便至关重要,本文推荐apipost接口文档...

  • 接码平台汇总

    短租接口文档 火云接口文档 火云官网 神话接口文档

  • 后端接口文档

    关于后端接口文档 一般包含以下内容: 该接口的路径 该接口提交的数据类型,如: GET: 获取数据POST: 提交...

  • 谈谈单接口测试

    如果只是单个接口的测试还是归属于功能测试。 平时我们是怎么做接口测试的?接口文档、接口文档,一定要看接口文档。初学...

网友评论

      本文标题:关于接口文档的建议

      本文链接:https://www.haomeiwen.com/subject/lewobctx.html