API Testing 4 - Http方法-CRUD操作

API Testing 入门基础系列 之 API Testing 4 - Http方法-CRUD操作

CRUD概念:

先看一个现实的例子:
第一次用微信,需要提交一些基本信息进行注册。注册成功后,你将有一个微信号。那么是谁在为你服务呢?是一个微信API,它负责为你创建Create一个用户账号,并将你提供的信息存到数据库中。

现在你可以用你的微凭证(微信号和密码)登入微信了,登入成功后可以看到属于你的基本信息。那么是谁在为你服务呢?是一个微信API,它负责获取Retrieve你的基本信息。

时间久了,你可能需要更新微信的一些基本信息,比如微信名字。你将老的微信名字更新成一个新的。那么是谁在为你服务?是一个微信API,它负责更新Update你的信息。

用了几年,你感觉微信太花时间了,你注销了微信账号,你的微信账号已经无效了。那么是谁为你服务呢?是一个微信API,它负责删除Delete你的账号,将你的全部信息也从数据库中删除了。

一个API的开发是为某一目的或则功能服务的,它可能是用来创建数据,获取数据,更改数据,或则删除数据。以上功能被称为CRUD(Create, Retrieve, Update and Delete),用REST的方式,这些操作也被称为HTTP方法,包括(GETPOSTPUTDELETEPATCHOPTIONSHEAD)下面分别了解一下这些方法。

GET

此访求通常只用来读取/获取资源呈现,它不改变资源状态,也称为安全方法。多次重复调用GET请求,会得到相同的资源信息,除非其它API改变资源状态,这也是为什么我们称它为等幂方法了。请求返回的响应一般是JSON或则XML格式。
状态码
200 (OK) –> 如果 GET API 找到被请求的资源.
404( Not Found) –> 如果GET API 没有找到被请求的资源.
400 ( Bad Request) –>如果GET 请求体信息不符合该GET API接收的格式.

POST:

POST方法用来创建资源集中一个新的resource,请求体是JSON或XML格式。
状态码:
201 (Create)->并不是每次都返回201,资源创建成功,并返回response body
200(OK)
204(No Content)
POST方法是不安全的,因为涉及到资源创建。它也不是等幂的,2次相同的POST方法会生成2个不同的资源(资源信息相同,资源ID不同)。

PUT:

PUT方法用来更新资源,有时也用来创建一个新资源如果请求的资源不存在。
状态码:
201 (Create)资源创建成功
200(OK) 更新资源成功
204(No Content)更新资源成功
PUP方法也是不安全的,它执行了创建和更改资源。但是它是等幂的,如果在同一个资源上发2次重复的PUP请求,资源最终状态是一样的。当然PUT方法也可以开发成不等幂的,哈哈,取决于开发者的实现。

DELETE:

DELETE方法用来删除一个已经存在的资源。
状态码
200(OK)->删除成功
204(No Content)删除成功
202(Accepted) 请求已经接收,在排队,等待处理
DELETE方法也不是一个安全的方法,对同一资源进行DELETE请求,第一次成功,重复第二次发DELETE请求,会返回404(Note Found)。后面反复操作应该都返回404,所以DELETE方法是等幂操作。

PATCH:

PATCH方法用来更新资源的部分信息。PUT是更新资源的全部信息。
状态码:
200(OK)->更新成功,返回response
204(No Content)
PATCH方法不是安全的,因为更改资源信息。一般来说PATCH是不等幂的,但是也可以开发成等幂的。

HEAD:
HEAD方法就是没有response body的GET访求是一样的。只返回header信息,可以降低网络负载。

OPTIONS:
OPTIONS方法用来获取API支持的http方法,Response 有个名为Allow的Header, 其值就是支持的http方法列表。我们在进行API测试前,先用OPTIONS请求看看该API支持的所有Http方法。

以上就是有关http方法最基础的概念,更深入了解请参考另外一篇文章《HTTP Method 方法汇总及之间的差异

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值