Postman(接口测试工具),什么是Postman接口

news2024/11/15 10:29:20

目录

一.基本介绍

  • Postman 是什么
  • Postman 快速入门
  • 快速入门需求说明

二.Postman 完成 Controller 层测试

  • 需要的代码:
    • Java类
    • request.jsp
    • success.jsp
  • 1. 完成请求
  • 2. 完成请求
  • 3. 完成请求
  • 4. 完成请求
  • 5. 完成请求

三.发送join

目录

一.基本介绍

Postman 是什么

1.Postman 是一款功能超级强大的用于发送 HTTP 请求的 测试工具
2. 做 WEB 页面开发和测试的人员常用工具
3. 创建和发送任何的 HTTP 请求 (Get/Post/Put/Delete...)

快速入门需求说明

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/1441079.html

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

相关文章

Redis核心技术与实战【学习笔记】 - 31.番外篇:Redis客户端如何与服务器端交换命令和数据

简述 Redis 使用 RESP 协议&#xff08;Redis Serialzation Protocol&#xff09;协议定义了客户端和服务器端交互的命令、数据的编码格式。在 Redis 2.0 版本中&#xff0c;RESP 协议正式称为客户端和服务器端的标准通信协议。从 Redis 2.0 到 Redis 5.0 &#xff0c;RESP 协…

电脑通电自启动设置

首先要进入BIOS&#xff0c;以华硕为例&#xff0c;按下电源键&#xff0c;在开机之前按下delete键&#xff0c;其他电脑可能是esc或者某个f键&#xff0c;请自行查找。 进入BIOS后要找到电源管理&#xff0c;可以在高级选项中找一找&#xff0c;如上图右下角选择高级模式。 …

机器学习10-特征缩放

特征缩放的目的是确保不同特征的数值范围相近&#xff0c;使得模型在训练过程中更加稳定&#xff0c;加速模型收敛&#xff0c;提高模型性能。具体而言&#xff0c;零均值和单位方差的目标有以下几点好处&#xff1a; 1. 均值为零&#xff08;Zero Mean&#xff09;&#xff1a…

移动应用开发Android 创建第一个Android项目

文章目录 一、创建第一个Android项目1.1 准备好Android Studio1.2 运行程序1.3 程序结构是什么app下的结构res - 子目录&#xff08;所有图片、布局、字AndroidManifest.xml 有四大组件&#xff0c;程序添加权限声明 Project下的结构 二、开发android时&#xff0c;部分库下载异…

教师题不会怎么搜答案?用这三款神器就够了!!! #笔记#知识分享#职场发展

在大学生的学习过程中&#xff0c;遇到难题和疑惑是常有的事情。然而&#xff0c;随着互联网的普及和技术的发展&#xff0c;搜题和学习软件成为了大学生们解决问题的利器。今天&#xff0c;我将向大家推荐几款备受大学生喜爱的搜题和学习软件&#xff0c;帮助我们更好地应对学…

汽车零部件MES系统解决方案

汽车零部件行业现状 随着全球汽车产业不断升级&#xff0c;汽车零部件市场竞争日趋激烈&#xff0c;从上游的钢铁、塑料、橡胶等生产到下游的主机厂配套制造&#xff0c;均已成为全球各国汽车制造大佬战略目标调整的焦点&#xff0c;其意欲在汽车零部件行业快速开疆扩土&#x…

HARRYPOTTER: FAWKES

攻击机 192.168.223.128 目标机192.168.223.143 主机发现 nmap -sP 192.168.223.0/24 端口扫描 nmap -sV -p- -A 192.168.223.143 开启了21 22 80 2222 9898 五个端口&#xff0c;其中21端口可以匿名FTP登录&#xff0c;好像有点说法,百度搜索一下发现可以用anonymous登录…

NLP_语言模型的雏形 N-Gram 模型

文章目录 N-Gram 模型1.将给定的文本分割成连续的N个词的组合(N-Gram)2.统计每个N-Gram在文本中出现的次数&#xff0c;也就是词频3.为了得到一个词在给定上下文中出现的概率&#xff0c;我们可以利用条件概率公式计算。具体来讲&#xff0c;就是计算给定前N-1个词时&#xff0…

【Git】Windows下通过Docker安装GitLab

私有仓库 前言基本思路拉取镜像创建挂载目录创建容器容器启动成功登录仓库设置中文更改密码人员审核配置邮箱 前言 由于某云存在人数限制&#xff0c;这个其实很好理解&#xff0c;毕竟使用的是云服务器&#xff0c;人家也是要交钱的。把代码完全放在别人的服务器上面&#xf…

【网工】华为设备命令学习(nat网络地址转换)

本次实验通过nat技术实现私网转公网。 实验中 pc1和ar2的基本配置省略&#xff0c;只需要配置基本IP地址就行。主要记录AR3的配置代码。 <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]int g0/0/0 [Huawei-Giga…

飞天使-k8s知识点13-kubernetes散装知识点2-statefulsetdaemonset

文章目录 RC RS DeploymentStatefulSet有状态服务控制器DaemonSet守护进程与任务job cronjob RC RS Deployment StatefulSet有状态服务控制器 statefulset StatefulSet 是 Kubernetes 1.9 版本引入的一个新的 API 对象&#xff0c;主要用于处理有状态的服务。StatefulSet 与 De…

【原创 附源码】Flutter海外登录--Google登录最详细流程

最近接触了几个海外登录的平台&#xff0c;踩了很多坑&#xff0c;也总结了很多东西&#xff0c;决定记录下来给路过的兄弟坐个参考&#xff0c;也留着以后留着回顾。更新时间为2024年2月8日&#xff0c;后续集成方式可能会有变动&#xff0c;所以目前的集成流程仅供参考&#…

谷歌 DeepMind 联合斯坦福推出了主从式遥操作双臂机器人系统增强版ALOHA 2

谷歌 DeepMind 联合斯坦福推出了 ALOHA 的增强版本 ——ALOHA 2。与一代相比&#xff0c;ALOHA 2 具有更强的性能、人体工程学设计和稳健性&#xff0c;且成本还不到 20 万元人民币。并且&#xff0c;为了加速大规模双手操作的研究&#xff0c;ALOHA 2 相关的所有硬件设计全部开…

Java:内部类、枚举、泛型以及常用API --黑马笔记

内部类 内部类是类中的五大成分之一&#xff08;成员变量、方法、构造器、内部类、代码块&#xff09;&#xff0c;如果一个类定义在另一个类的内部&#xff0c;这个类就是内部类。 当一个类的内部&#xff0c;包含一个完整的事物&#xff0c;且这个事物没有必要单独设计时&a…

利用路由懒加载和CDN分发策略,对Vue项目进行性能优化

目录 一、Vue项目 二、路由懒加载 三、CDN分发策略 四、如何对Vue项目进行性能优化 一、Vue项目 Vue是一种用于构建用户界面的JavaScript框架&#xff0c;它是一种渐进式框架&#xff0c;可以用于构建单页应用&#xff08;SPA&#xff09;和多页应用。Vue具有简单易学、灵…

Spring第二天

一、第三方资源配置管理 说明&#xff1a;以管理DataSource连接池对象为例讲解第三方资源配置管理 1 管理DataSource连接池对象 问题导入 配置数据库连接参数时&#xff0c;注入驱动类名是用driverClassName还是driver&#xff1f; 1.1 管理Druid连接池【重点】 数据库准备…

排序算法---快速排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 快速排序是一种常用的排序算法&#xff0c;采用分治的策略来进行排序。它的基本思想是选取一个元素作为基准&#xff08;通常是数组中的第一个元素&#xff09;&#xff0c;然后将数组分割成两部分&#xff0c;其中一部分的…

【代码】Processing笔触手写板笔刷代码合集

代码来源于openprocessing&#xff0c;考虑到国内不是很好访问&#xff0c;我把我找到的比较好的搬运过来&#xff01; 合集 参考&#xff1a;https://openprocessing.org/sketch/793375 https://github.com/SourceOf0-HTML/processing-p5.js/tree/master 这个可以体验6种笔触…

【MySQL】:深入理解并掌握DML和DCL

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. DML1.1 添加数据1.2 修改数据1.3 删除数据 二. DCL2.1 管理用户2.2 权限控制…

【LeetCode每日一题】525连续数组 303区域和检索(前缀和的基本概念和3个简单案例)

前缀和 // 构造prefix let prefix [0] arr.forEach(num > {prefix.push(prefix.at(-1) num); })如果想要计算某个区间 i 到 j 这个子数组的和时&#xff0c;可以根据 prefix[j1] - prefix[i] 获得。 例题1&#xff1a;303.区域和检索 - 数组不可变 给定一个整数数组 num…