Postman接口测试之POST、GET请求方法

一、基础知识

  1.HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

    GET请求:请求指定的页面信息,并返回实体主体。(通常用来接收数据)。

    POST请求:向指定资源提交数据进行处理请求,数据被包含在请求体中。POST请求可能会导致新的资源的建立、已有资源的修改。(通常用来发送数据)。

    HEAD请求:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。

    PUT请求:从客户端向服务器传送的数据取代指定的文档的内容。

    DELETE请求:请求服务器删除指定的页面。

    CONNECT请求:能够将连接改为管道方式的代理服务器。

    OPTIONS请求:允许客户端查看服务器的性能。

    TRACE请求:显示服务器收到的请求,主要用于测试或诊断。

  2.接口调用传参方式:key-value参数形式,Json串传参形式。

    key-value参数:把参数拼接在url的后面由?相连,多个参数之间用&相连。

    Json串传参:需要在请求的body写中,入Json格式参数。

二、接口文档

 1.GET请求接口文档

  功能说明:用户注册

  请求URL: http://demo/web-member/auth/memberRegisteredByMobile

  请求方式:GET

  参数:

参数名必选类型说明
mobilestring手机号
signint(0:注册发送,1,忘记密码发送)

  

  

  返回示例:

    无

  返回参数说明: 

数名类型说明
statusstring注册发送是否成功
messagestring注册发送详细信息

  

 

  

2.POST请求接口文档

  功能说明:用户登录

  请求URL: http://demo/web-member/auth/memberLogin

  请求方式:POST

  参数:

参数名必选类型说明
usernamestring用户名(邮箱或电话号)
passwordstring密码
deviceTypestring“ios”“android”

  返回示例:

  无

  返回参数说明:  

参数名类型说明
statusstring操作状态
resultstring返回token

三、Postman接口操作

  1.GET请求操作:

  2.GET请求操作结果:

    3.POST请求操作:

4.POST请求操作结果:

 5.PUT请求操作:

 6.PUT请求操作结果:

 

附接口测试代码:

@RestController
@RequestMapping("/api/resource")
@Slf4j
public class ApiRequestController {

    @PostMapping("/postTest")
    public JsonResult<String> createResource(@RequestBody RequestFromDTO postData) {
        // 处理请求体数据,创建资源的业务逻辑
        // ...
        log.info("测试post请求参数为:{} ", postData.toString());
        // 返回响应
        JsonResult<String> resourceCreatedSuccessfully = JsonResult.success(ResultMsgConstant.DEFAULT_SUCCESS_STATUS,
                "Resource created successfully", postData.toString());
        return resourceCreatedSuccessfully;
    }


    @PutMapping("/putTest/{id}")
    public JsonResult<String> updateResource(@PathVariable("id") Long id, @RequestBody RequestFromDTO putData) {
        // 根据id和请求体数据,进行资源更新的业务逻辑
        // ...

        // 返回响应
        JsonResult<String> resourceCreatedSuccessfully = JsonResult.success(ResultMsgConstant.DEFAULT_SUCCESS_STATUS,
                "id为"+ String.valueOf(id) + "的数据 Resource updated successfully", putData.toString());
        return resourceCreatedSuccessfully;
    }
}

另:

补充:post请求接口@RequestBody和@RequestParam参数的不同调用方式。

接口参数@RequestBody

调用方式:

接口参数@RequestParam调用方式:

二、补充

POST和PUT请求方式区别

 1、POST请求和PUT请求是HTTP协议中的两种主要方法,它们有以下区别:

  1. 目的:POST请求用于向服务器提交新的数据,通常用于创建资源。PUT请求用于更新服务器上的现有资源。

  2. 幂等性:POST请求不是幂等的,多次重复发送相同的POST请求会创建多个资源副本。PUT请求是幂等的,多次重复发送相同的PUT请求不会产生额外的影响。

  3. 请求语义:POST请求的语义是向资源集合添加一个新的成员;PUT请求的语义是替换或创建指定URL下的资源。

  4. 数据处理:POST请求通常将数据作为请求体中的实体进行传输,用于提交表单数据或上传文件等。PUT请求也可以接收数据作为请求体,但通常更常见的是将数据放在URL的路径中,对指定资源进行更新。

总结来说,POST请求用于创建资源,而PUT请求用于更新或替换资源。POST是非幂等的,而PUT是幂等的。在使用时,需要根据具体的需求和语义选择适当的请求方法。

 2、POST和PUT请求方式优缺点

POST请求的优点:

  1. 可以用于创建新资源,适用于需要向服务器提交数据并在服务器端进行处理的场景。
  2. 可以向服务器发送大量数据,因为数据通常作为请求体传输,没有长度限制。
  3. 不依赖于URL路径来确定操作的目标资源。

POST请求的缺点:

  1. 非幂等性,多次重复发送相同的POST请求会创建多个资源副本。
  2. 对服务器资源的修改可能不透明,无法直接指定要修改的具体字段或属性。

PUT请求的优点:

  1. 幂等性,多次重复发送相同的PUT请求不会产生额外的影响。
  2. 可以对指定的URL下的资源进行替换或更新操作,具有明确的语义和目的。
  3. 更直观地指定要修改的具体字段或属性。

PUT请求的缺点:

  1. 不支持像POST请求那样将大量数据放在请求体中传输,通常更适合小型数据更新。
  2. 某些服务器或代理可能对PUT请求有限制或禁用。

综上所述,POST请求适用于创建资源和处理较大数据量的情况,但非幂等性和可见性差。而PUT请求适用于更新现有资源、具备幂等性和可见性,但不适合传输大量数据。选择请求方法时,应根据具体需求和场景来权衡优缺点。

 3、POST和PUT请求方式推荐使用场景

推荐以下场景适合使用POST请求:

  1. 创建资源:当需要在服务器上创建新的资源时,可以使用POST请求。例如,在一个博客网站上创建新的文章或在社交媒体平台上发布新的帖子。

  2. 表单提交:当用户填写表单并提交数据时,通常使用POST请求将表单数据发送到服务器进行处理。这包括注册表单、登录表单、评论表单等。

  3. 文件上传:如果需要将文件上传到服务器,则通常使用POST请求。例如,上传图片、上传视频等。

  4. 批量操作:如果需要对多个资源进行批量操作,可以使用POST请求将相关信息打包发送到服务器。例如,同时删除多个选定的项目或批量更新资源状态。

推荐以下场景适合使用PUT请求:

  1. 更新资源:当需要更新或替换现有资源时,可以使用PUT请求。例如,修改已发布的文章、更改用户个人资料等。

  2. 局部更新:如果只需对资源的一部分进行更新,而不是替换整个资源,可以使用PUT请求。例如,更改文章的标题或内容,而保留其他字段不变。

  3. 增量更新:如果需要对资源进行增量更新,即在现有值的基础上进行修改,可以使用PUT请求。例如,将某个资源的计数器递增或递减。

总之,POST请求适合用于创建资源、表单提交、文件上传和批量操作等场景,而PUT请求适合用于更新资源、局部更新和增量更新等场景。选择合适的请求方法应根据具体需求和语义来决定。

 

  • 13
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值