Postman(接口测试工具)

news2025/1/7 22:13:25

目录

一.基本介绍

1.Postman 是什么

2.Postman 快速入门

2.1快速入门需求说明

 二.Postman 完成 Controller 层测试

需要的代码:

Java类

request.jsp

success.jsp

1. 完成请求

2. 完成请求

3. 完成请求

4. 完成请求

5. 完成请求

三.发送join

一.基本介绍

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

4. 创建 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 ,会看到增加新的记录 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/836236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Ubuntu】Ubuntu 22.04 升级 OpenSSH 9.3p2 修复CVE-2023-38408

升级原因 近日Openssh暴露出一个安全漏洞CVE-2023-38408&#xff0c;以下是相关资讯&#xff1a; 一、漏洞详情 OpenSSH是一个用于安全远程登录和文件传输的开源软件套件。它提供了一系列的客户端和服务器程序&#xff0c;包括 ssh、scp、sftp等&#xff0c;用于在网络上进行…

机器学习深度学习——卷积神经网络(LeNet)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——池化层 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助 卷积神…

微信朋友圈会自动点赞?

网友称微信存在bug&#xff0c;朋友圈会自动点赞&#xff1f;腾讯回应了 微信作为国内最大的网络社交平台&#xff0c;目前用户已超过11亿。 令人吃惊的是&#xff0c;拥有这么庞大用户数量的平台&#xff0c;竟然有可能存在Bug。 近日&#xff0c;#微信回应看朋友圈会自动点…

Linux性能分析工具介绍(二)--内存、进程、磁盘、IO分析

目录 一、引言 二、Linux性能分析工具介绍 ------>2.1、进程 ------>2.2、内存 ------>2.3、磁盘 ------>2.4、IO 一、引言 本章从内存、IO、进程的角度,分析linux系统的性能 二、Linux性能分析工具介绍 2.1、进程 2.1.1、top top命令可以动态查看进程…

【pandas百炼成钢】数据预览与预处理

知识目录 前言一、数据查看1 - 查看数据维度2 - 随机查看5条数据3 - 查看数据前后5行4 - 查看数据基本信息5 - 查看数据统计信息&#xff5c;数值6 - 查看数据统计信息&#xff5c;非数值7 - 查看数据统计信息&#xff5c;整体 二、缺失值处理8 - 计算缺失值&#xff5c;总计9 …

【ASP.NET MVC】使用动软(三)(11)

一、问题 上文中提到&#xff0c;动软提供了数据库的基本操作功能&#xff0c;但是往往需要添加新的功能来解决实际问题&#xff0c;比如GetModel&#xff0c;通过id去查对象&#xff1a; 这个功能就需要进行改进&#xff1a;往往程序中获取的是实体的其他属性&#xff0c;比如…

浪潮服务器硬盘指示灯显示黄色的服务器数据恢复案例

服务器数据恢复环境&#xff1a; 宁夏某市某单位的一台浪潮服务器&#xff0c;该服务器中有一组由6块SAS硬盘组建的RAID5阵列。 服务器上存放的是Oracle数据库文件&#xff0c;操作系统层面划分了1个卷。 服务器故障&初检&#xff1a; 服务器在运行过程中有两块磁盘的指示灯…

需要仔细了解公文类型和目的,以便选择合适的写作风格

撰写公文前需要仔细了解公文类型和目的&#xff0c;以便选择合适的写作风格。 不同类型的公文有不同的结构、内容和表达方式&#xff0c;需要根据具体类型和目的来选择合适的写作风格和表达方式。例如&#xff0c;通知、公告等公文需要采用简洁明了、规范严谨的表达方式&#x…

一篇文章教你学会:对Java集合进行并集,交集,差集运算

废话不多&#xff0c;直接上代码&#xff1a; 目录 1&#xff1a;新建一个实体类 2&#xff1a;准备好数据 3&#xff1a;使用stream 流求 3.1 并集 3.2 交集 3.3 差集 3.31&#xff08;第一种&#xff09; 3.32&#xff08;第二种&#xff09; 4&#xff1a;使用Gool…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(28)-Fiddler如何抓取Android7.0以上的Https包-下篇

1.简介 虽然依旧能抓到大部分Android APP的HTTP/HTTPS包&#xff0c;但是别高兴的太早&#xff0c;有的APP为了防抓包&#xff0c;还做了很多操作&#xff1a; ① 二次加密 有的APP&#xff0c;在涉及到关键数据通信时&#xff0c;会将正文二次加密后才通过HTTPS发送&#xff…

RFID资产管理系统的选择

RFID资产管理是一种有效的资产过程控制方法&#xff0c;可以帮助企业实现高效的资产管理。选择RFID技术&#xff0c;可以高度集成各种资产信息&#xff0c;完成实时跟踪管理。   根据RFID资产管理系统&#xff0c;可以做到资产的实时管理&#xff0c;使企业管理者可以实时了解…

Android优化篇|网络预连接

作者&#xff1a;苍耳叔叔 一个示例 前后分别去请求同一个域名下的接口&#xff0c;通过 Charles 抓包&#xff0c;可以看到 Timing 下面的时间&#xff1a; 第二次请求时&#xff0c;DNS、Connect 和 TLS Handshake 部分都是 -&#xff0c;说明没有这部分的耗时&#xff0c;…

C# 控制台彩色深度打印 工具类

文章目录 前言Nuget 环境安装代码使用打印结果 总结 前言 有时候我们想要靠打印获得程序信息&#xff0c;因为Dubeg模式需要一点一点断点进入进出&#xff0c;但是我们觉得断点运行实在是太慢了&#xff0c;还是直接打印后找结果会好一点。 Nuget 环境安装 想自己写的话可以看…

unity tolua热更新框架教程(1)

git GitHub - topameng/tolua: The fastest unity lua binding solution 拉取到本地 使用unity打开&#xff0c;此处使用环境 打开前几个弹窗(管线和api升级)都点确定 修改项目设置 切换到安卓平台尝试打包编译 设置包名 查看报错 打开 屏蔽接口导出 重新生成 编译通过 …

FineReport常用功能

不分页显示数据 参见&#xff1a;https://help.fanruan.com/finereport/doc-view-328.html?source4 列数多时&#xff0c;所有列不能在一页显示&#xff0c;可在URL后增加如下参数&#xff0c;添加模版时&#xff0c;可以作为模版参数进行设置&#xff1a; 分页预览模式&am…

orangepi 4lts ubuntu安装RabbitMQ

4lts的emmc 系统安装选文件系统格式 ext4 需先安装erlang&#xff1a; sudo apt install erlang 安装RabbitMQ: sudo apt install rabbitmq-server - 添加用户以便远程访问&#xff1a; - 账号密码都是admin: sudo rabbitmqctl add_user admin admin -sudo rabbitmqct…

C 语言高级2-多维数组,结构体,递归操作

1. 多维数组 1.1 一维数组 元素类型角度&#xff1a;数组是相同类型的变量的有序集合内存角度&#xff1a;连续的一大片内存空间 在讨论多维数组之前&#xff0c;我们还需要学习很多关于一维数组的知识。首先让我们学习一个概念。 1.1.1 数组名 考虑下面这些声明&#xff1…

钉钉微应用

钉钉微应用 在做钉钉微应用开发的时候&#xff0c;遇到了一些相关性的问题&#xff0c;特此记录下&#xff0c;有遇到其他问题的&#xff0c;欢迎一起讨论 调试工具 当我们基于钉钉开发微应用时&#xff0c;难免会遇到调用钉钉api后的调试&#xff0c;这个时候可以安装eruda…

笔记本WIFI连接无网络【实测有效解决方案,不用重启电脑】

笔记本Wifi连接无网络实测有效解决方案 问题描述&#xff1a; 笔记本买来一段时间后&#xff0c;WIFI网络连接开机一段时间还正常连接&#xff0c;但是过一段时间显示网络连接不上解决方案&#xff1a; 1.编写网络重启bat脚本&#xff0c;将以下内容写到文本文件&#xff0c;把…

使用 FastGPT 构建高质量 AI 知识库

作者&#xff1a;余金隆。FastGPT 项目作者&#xff0c;Sealos 项目前端负责人&#xff0c;前 Shopee 前端开发工程师 FastGPT 项目地址&#xff1a;https://github.com/labring/FastGPT/ 引言 自从去年 12 月 ChatGPT 发布以来&#xff0c;带动了一轮新的交互应用革命。尤其在…