还不懂 RESTful 接口是什么?快进来看看

2067 篇文章 51 订阅
797 篇文章 1 订阅
这篇文章介绍了用于软件测试面试准备的小程序,包含各种基础和高级测试领域的题目,以及阿里、华为等大厂的面试真题。同时,详细解释了RESTful架构和其设计原则,如URI、HTTP动词和状态码的使用。
摘要由CSDN通过智能技术生成

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读3.4k次,点赞86次,收藏15次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502

RESTful是指基于REST(Representational State Transfer,表现层状态转移)架构风格的Web服务。REST是一种设计原则和架构风格,而不是标准,它用于指导如何构建易于交互、高效、可扩展的网络系统。RESTful服务通常使用HTTP协议的标准方法来处理网络上的资源。

在现今互联网时代,Web服务已经成为了连接不同系统、平台和设备的关键桥梁。而RESTful架构风格作为一种简单而强大的设计理念,正在逐渐成为构建这些Web服务的首选方式,在做接口测试时,大家都有听说过RESTful风格的接口,那么到底什么是RESTful,以及它有哪些设计原则?

什么是RESTful?

"REST"(Representational State Transfer,表现层状态转移)是一种设计原则和架构风格,用于构建分布式系统,强调使用统一的接口和无状态通信来操作网络上的资源,"RESTful"则是基于REST原则设计的Web服务,使用HTTP协议的标准方法来实现对网络资源的操作。

1、每一个URI代表一种资源

在RESTful中,资源是系统中的任何实体或对象,每个资源都有一个唯一的URI来标识

  • json格式数据

  • text文本

  • 图片、视频等

2、资源的表示形式

客户端和服务器之间,传递资源的某种表现形式

  • 通过请求头中Content-Type来指明传给服务端的参数类型

“text/plain”, “application/xml”, “text/html”, 
“application/json”, “image/gif”, “image/jpeg”
"application/x-www-form-urlencoded"
  • 通过请求头中Accept来指明希望接受服务端的数据类型

Accept: application/json,application/xml;q=0.9,*/*;q=0.8
3、通过HTTP动词(请求方法)描述操作

客户端通过HTTP动词,指明对服务器端资源要进行的操作,包括GET/POST/PUT/PATCH/DELETE等

请求方法对应的操作
POSTCreate-创建
GETRead-查询
PUTUpdate/Replace-更新/替换
PATCHPartial Update/Modify-部分更新/替换
DELETEDelete-删除

RESTful设计规则

URL设计

1、URI命名

尽量使用名词复数形式,不要使用getXXX,setXXX这种动词和名词混合在一起

差的设计:

/getProjects
/listUsers
/users
/setTestcaseById?Id=66

好的设计:

/projects
/users

2、过滤条件

比如/projects返回项目信息,如果项目信息过多,服务端不可能将所有的数据全部返回给前端,一般我们会加上过滤条件​​​​​​​

?limit=10    :指定返回记录的数量
?offset=10    :指定返回记录的开始位置
?page=2&size=10          :指定第几页和每页的数据条数
?sort=name    :指定返回结果按照哪个属性排序,以及排序顺序
3、API版本

在URL中呈现版本号:

http://api.lemon.site/app/0.1/
http://api.lemon.site/app/0.2/
http://api.lemon.site/app/1.1/

也可在请求头中呈现:​​​​​​​

Accept: application/vnd.example.v0.2+json
Accept: application/vnd.example+json;version=1.1

请求方法

常见的HTTP请求方法有下面四个(括号里是对应的SQL命令)​​​​​​​

GET(SELECT)    :从服务器获取资源(一项或多项)
POST(CREATE)    :在服务器新建一个资源
PUT(UPDATE)    :在服务器更新资源(客户端提供改变后的完整资源)
DELETE(DELETE)  :从服务器删除资源

还有三个不常用的HTTP动词:​​​​​​​

PATCH(UPDATE WHERE) :在服务器部分更新(更新)资源(客户端提供改变的属性)
HEAD          :获取资源的元数据
OPTIONS          :获取关于资源的哪些属性是客户端可以改变的信息

比如:​​​​​​​

GET /projects      # 获取所有项目信息
POST /projects      # 创建一个新项目
GET /projects/6      # 获取ID为6的项目信息
PUT /projects/6      # 更新ID为6的项目信息(全更新)
PATCH /projects/6    # 更新ID为6的项目信息(部分更新)
DELETE /projects/6    # 删除ID为6的项目

GET /projects/6/interfaces  # 获取ID为6的项目信息中所有的接口信息
GET /projects/6/interfaces/1  # 获取ID为6的项目信息中ID为1的接口信息

状态码​​​​​​​

200 OK - [GET]:服务器成功返回用户请求的数据
201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功
204 NO CONTENT - [DELETE]:用户删除数据成功
400 INVALID REQUEST - [POST/PUT/PATCH]:用户请求有误(请求参数有误)
401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)
403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的
404 NOT FOUND - [*]:用户请求的路径不存在
500 INTERNAL SERVER ERROR - [*]:服务器发生错误

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值