0


Postman(接口测试工具)

一.基本介绍

1.**Postman **是什么

  1. Postman 是一款功能超级强大的用于发送 HTTP 请求的 测试工具

  2. 做 WEB 页面开发和测试的人员常用工具

  3. 创建和发送任何的 HTTP 请求(Get/Post/Put/Delete...)

2.**Postman **快速入门

**2.1快速入门需求说明 **

要求**: ****使用 ****Postman ****向 ****http://www.baidu.com ****发出 ****get ****请求,得到返回的 ***html 格式数据*

要求**: ****使用 ****Postman ****向 ****http://www.sohu.com ****发出 ****get ****请求,得到返回的 ***html 格式数*

1.首先需要我们去注册Postman 一个账号: 这个比较简单,输入邮箱,添加账号名和密码即可。

2.登录

3.进入Postman

  1. 创建 Http Request , 如果你已经创建过,会直接进入 Workspace, 这里灵活处理即可

**5. ****到此,我们就完成快速入门案例,后面可以创建新的 ****Collection ****或者 新的 ****Http **

Request

二.Postman 完成 Controller 层测试

需要的代码:

Java类

package com.hong.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: 海绵hong
 * @Date: 2022/10/26/10:31
 * @Description:
 */
@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器,注入到容器
public class UserHandler {

    /**
     * 解读
     * 1. method=RequestMethod.POST: 表示请求buy目标方法必须是 post
     * 2. RequestMethod 四个常用选项 POST, GET, PUT, DELETE[后面我们会详解]
     * 3. SpringMVC 控制器默认支持GET和POST两种方式
     * <p>
     * 4. buy()方法请求的url: http://ip:port/工程路径/user/buy
     * 5. @PostMapping(value = "/buy")等价 @RequestMapping(value = "/buy",method = RequestMethod.POST)
     * @return
     */
    //@RequestMapping(value = "/buy",method = RequestMethod.POST)
    @PostMapping(value = "/buy")
    public String buy() {
        System.out.println("购买商品~");
        return "success";
    }

    /**
     * 解读
     * 1. params="bookId" 表示请求该目标方法时,必须给一个bookId参数, 值没有限定
     * 2. search(String bookId): 表示请求目标方法时, 携带的bookId=100, 就会将请求携带的 bookId对应的
     * 值 100, 赋给 String bookId
     * 3. params = "bookId=100" 表示必须给一个bookId参数, 而且值必须是100
     *
     * @return
     */
    @RequestMapping(value = "/find", params = "bookId=100", method = RequestMethod.GET)
    public String search(String bookId) {
        System.out.println("查询书籍 bookId= " + bookId);
        return "success";
    }

    /**
     * 要求: 可以配置  /user/message/aa, /user/message/aa/bb/cc
     * 1. @RequestMapping(value = "/message/**") /** 可以匹配多层路径
     */

    @RequestMapping(value = "/message/**")
    public String im() {
        System.out.println("发送消息");
        return "success";
    }

    //要求: 我们希望目标方法获取到 username 和 userid, value="/xx/{username}" - @PathVariable("username")..
    //前端页面: <a href="user/reg/kristina/300">占位符的演示</a>
    //(value = "/reg/{username}/{userid}"): 表示kristina->{username} 300=>{userid}
    @RequestMapping(value = "/reg/{username}/{userid}")
    public String register(@PathVariable("username") String name,
                           @PathVariable("userid") String id) {
        System.out.println("接收到参数--" + "username= " + name + "--" + "usreid= " + id);
        return "success";
    }

    @RequestMapping(value = "/hi")
    public String hi() {
        System.out.println("hi");
        return "success";
    }

    //@RequestMapping(value = "/hi")
    //public String hi2() {
    //    System.out.println("hi");
    //    return "success";
    //}

    /**
     * hello3(String email): 如果我们的请求参数有 email=xx, 就会将传递的值,赋给String email
     * ,要求名称保持一致, 如果不一致,那么接收不到数据, 而是null
     * @param email
     * @return
     */
    @GetMapping(value = "/hello3")
    public String hello3(String email) {
        System.out.println("hello3 " + email);
        return "success";
    }
}

request.jsp

<%--
  User:海绵hong
  Date: 2022/10/26
  Time: 10:33
  
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>购买商品</title>
</head>
<body>
<h1>购买商品</h1>
<%--解读
1. action="user/buy" 对应 url http://localhost:8080/工程路径/user/buy
--%>
<form action="user/buy" method="post">
    购买人:<input type="text" name="username"><br>
    够买量:<input type="text" name="nums"><br>
    <input type="submit" value="购买">
</form>

<hr><h1>演示params的使用</h1>
<a href="user/find?bookId=200">查询书籍</a>

<hr><h1>演示Ant风格的请求资源方式 </h1>
<a href="user/message/aa">发送消息1</a><br>
<a href="user/message/aa/bb/cc">发送消息2</a><br>

<hr><h1>占位符的演示</h1>
<a href="user/reg/kristina/300">占位符的演示</a>

<h1>电脑信息</h1>

<form action="computer/info" method="post">
    品牌:<input type="text" name="brand"><br>
    价格:<input type="text" name="price"><br>
    数量:<input type="text" name="nums"><br>
    <input type="submit" value="提交">
</form>

</body>
</html>

success.jsp

<%--
  User:海绵hong
  Date: 2022/10/26
  Time: 10:34
  
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>操作成功</title>
</head>
<body>
<h1>恭喜, 操作成功~</h1>
</body>
</html>

**1. **完成请求

@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
public class UserHandler {  
 @RequestMapping(value = "/buy",method = RequestMethod.GET)
    public String buy() {
        System.out.println("购买商品");
        return "success";
    }
}

**--****使用 ****Postman ****测试 ****Controller ****的方法的步骤 **

**1) ****确定请求的地址 ****url http://localhost:8080/springMVC/user/buy **

**2) ****请求的方式 ****-Post **

**3) 确定请求的参数/****数据 ****- ****无 **

**4) ****确定 ****Headers ****有没有特殊的指定 ****- ****对 ****http **协议有了解

**2. ****完成请求 **

@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@RequestMapping(value
=
"/find", params
=
"bookId=100", method
=
RequestMethod.GET)
public String search(String bookId) {
System.out.println("查询书籍 bookId= " + bookId);
return "success";
}
}

**1) ****确定请求的地址 url http://localhost:8080/springMVC/user/find **

**2) ****请求的方式 ****-Get **

**3) 确定请求的参数/****数据 ****- bookId=100 **

**4) ****确定 ****Headers ****有没有特殊的指定 ****- ****无 **

**3. ****完成请求 **

@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@RequestMapping(value = "/message/**")
public String im() {
System.out.println("发送消息");
return "success";
}
}

**1) ****确定请求的地址 url http://localhost:8080/springMVC/user/message/aa/bb/cc **

**2) ****请求的方式 ****-Get/Post **

**3) 确定请求的参数/****数据 ****- ****无 **

**4) ****确定 ****Headers ****有没有特殊的指定 ****- ****无 **

**4. ****完成请求 **

@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@RequestMapping(value = "/reg/{username}/{userid}")
public String register(@PathVariable("username") String name,
@PathVariable("userid") String id) {
System.out.println("接收到参数--" + "username= " + name + "--" + "usreid= " + id);
return "success";
}

**1) ****确定请求的地址 url http://localhost:8080/springMVC/user/reg/hong/1000 **

**2) ****请求的方式 ****-Get/Post **

**3) 确定请求的参数/****数据 ****- **

**4) ****确定 ****Headers ****有没有特殊的指定 ****- ****无 **

**5. ****完成请求 **

@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@GetMapping(value = "/hello3")
public String hello3(String email) {
System.out.println("hello3 " + email);
return "success";
}

**1) ****确定请求的地址 url http://localhost:8080/springMVC/user/hello3 **

**2) ****请求的方式 ****-Get **

**3) 确定请求的参数/****数据 ****- email=xx@sohu.com **

**4) ****确定 ****Headers ****有没有特殊的指定 ****- **

三.发送join

**1. ****创建 对应的 ****Http Request ****,放到新的 **Collection

**2. ****在 ****Headers ****选项页,增加 **Content-Type appliction/json

**3. ****因为是 ****Post ****请求,在 ****Body ****选项页填写 ****Json 数据/Furn **数据

**4. ****点击 ****Send ,****如果成功,会看到返回 ****success 的信息, ****查看 ****Mysql ,**会看到增加新的记录


本文转载自: https://blog.csdn.net/weixin_54107527/article/details/127535892
版权归原作者 海绵hong 所有, 如有侵权,请联系我们删除。

“Postman(接口测试工具)”的评论:

还没有评论