什么是接口(API)
API全称Application Programming Interface,这里面我们其实不用去关注AP,只需要I上就可以。一个API就是一个Interface。
接口就是一个位于复杂系统之上并且能简化你的任务,它就像一个中间人让你不需要了解详细的所有细节。那我们今天要讲的Web API就是这么一类东西。像谷歌搜索系统,它提供了搜索接口,简化了你的搜索任务。再像用户登录页面,我们只需要调用我们的登录接口,我们就可以达到登录系统的目的。现在市面上有非常多种风格的Web API,目前最流行的是也容易访问的一种风格是REST或者叫RESTful 风格的API。从现在开始,以下我提到的所有API都是指RESTful风格的API。
接口响应的数据必须与API文档的定义的须一致;接口返回的节点、返回节点对应的值是不是对的;
当接口有翻页时,页码与页数的异常值测试;
第一页有数据,翻页到第二页
(1):第二页的数据是否和第一页重复;
(2):第二页接口有没有报错,页码(一页返回多少个数据)传一个很大的值(一般是100以内,可以改为1000或者String类型的等特殊符号,看接口会不会报错);同样的页数也是;
数据库的增删改查,比如一个post接口操作完成后,通过列表页接口看下新的数据是否和刚才post操作的一致;
每个接口入参的默认值、异常类型、非空检验
(1):这个参数有没有默认值,如果没有默认值是怎么处理的;
(2):这个参数必须输入值,如不输值或者输入其他值,接口会怎么返回;
(3):接口报错,服务端和客户端都需要做容错;
接口返回的图片地址能否打开,图片尺寸是否符合需求;
当输出参数有联动性时候,需要校验返回两参数的实际结果是否都符合需求;比如一个接口返回汽车的列表,总数的字段和列表里的数据是否一致;
所有列表页接口必须考虑排序值;如按时间排序,是否按时间排序;
所有功能都要考虑兼容旧版本;接口有改动(增加、减少字段)需要兼容老板本;
接口参数的边界值:入参支持多个值的时候,要考虑传的值的个数多的情况下,接口会不会报错;
某一个个人信息查询的接口,若只需要传5个参数,那么当传入四个、六个、10个,接口会不会报错,期望接口有个友好的提示;
输出参数类型:是int类型,那输出的必须也是int类型,不能是String类型;