Postman(接口测试工具)-程序员宅基地

技术标签: 必学技术栈  postman  servlet  测试工具  

目录

一.基本介绍

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 protected]
4) 确定 Headers 有没有特殊的指定 -

三.发送join

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

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

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

 

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_54107527/article/details/127535892

智能推荐

请求模块urllib的基本使用_with open 保存图片-程序员宅基地

文章浏览阅读3.2k次,点赞54次,收藏78次。在实现网络爬虫的爬取工作时,就必须使用网络请求,只有进行了网络请求才可以对响应结果中的数据进行提取,urllib模块是python自带的网络请求模块,无需安装,导入即可使用。下面将介绍如果使用python中的urllib模块实现网络请求_with open 保存图片

Android底层JNI中的JavaVM和JNIEnv对象_jnivlzm-程序员宅基地

文章浏览阅读1.2k次。最近在做关于安卓安全方面的东西,需要对底层进行注入,在看雪论坛上看了不少资料,查阅了相关书籍了解了一下,需要用到JNI。利用JNI可以实现Java和底层的C/C++模块相互沟通(NDK的框架用到了该外观设计模式,Facade Pattern) 其具体步骤如下:(1)创建一个包含native本地方法的类;(2)利用javah工具生成C/C++语言的头文件;(3)创建.c源文件,使用C/C++实_jnivlzm

RSA算法进行 数据加解密 与 数字签名、哈希(Hash) 摘要_哈希算法与rsa算法-程序员宅基地

文章浏览阅读485次,点赞9次,收藏6次。RSA算法进行 数据加解密 与 数字签名;_哈希算法与rsa算法

HTML、CSS、JS实现轮播图效果:包含分页按钮及切换箭头_html轮播图添加左右箭头-程序员宅基地

文章浏览阅读3.2k次。HTML、CSS、JS实现轮播图效果:包含分页按钮及切换箭头_html轮播图添加左右箭头

Android渲染(一)------ Shader之SweepGradient用法(雷达扫描效果)_android sweepgradient-程序员宅基地

文章浏览阅读707次。Shader定义:官方的定义是这样的: Shader是返回水平跨度颜色的对象的基类,绘图期间。 Shader的子类安装在Paint调用中,paint.setShader(着色器)。 之后的任何对象(除了位图之外)都是使用该绘制绘制将从着色器获取其颜色。它有五个子类,分别是:SweepGradient、LinearGradient、BitmapShader、Compose..._android sweepgradient

no2222_通信emm substate-程序员宅基地

文章浏览阅读530次。222_通信emm substate

随便推点

Error:Internal error: (java.io.FileNotFoundException) D:\code\project\.idea\misc.xml (The sys-程序员宅基地

文章浏览阅读1.6k次。 Intellij idea找不到misc.xml文件,关闭当前项目IDE,重新打开idea, File -&gt; import project,即可重新生成该文件_error:internal error: (java.io.filenotfoundexception)

每日模板一练——并查集-程序员宅基地

文章浏览阅读129次。洛谷2814极度细(毒)节(瘤)的字符串处理,以及最后一步弄错。。。。。(水了70分?)【代码~】 #include&lt;bits/stdc++.h&gt;using namespace std;const int MAXN=5e4+10;map&lt;string,int&gt; name;map&lt;int,string&gt; id;map&lt;string...

生成报表(转)-程序员宅基地

文章浏览阅读123次。使用JasperReport+iReport进行WEB开发    一、JasperReport和iReport简介:   1、JasperReport简介   JasperReport是一个强大、灵活的报表生成工具,是开放源代码组织sf.net中的...

哈希表-程序员宅基地

文章浏览阅读3k次,点赞5次,收藏18次。初入数据结构的哈希表(Hash Table)这次我们来总结一下关于哈希表的知识,首先我们要了解什么是哈希表,哈希函数的构造思路有哪些?怎么解决哈希冲突?最后再去分析一下哈希查找算法。哈希表的概念 前提小知识什么是哈希表?哈希表的四个概念关键字、值、哈希函数、哈希地址、哈希表之间的关系?什么是哈希冲突常见的哈希函数构造方法 怎么样才是好的哈希函数?常见构建哈希函数的六个方法...

VS报错 error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义 链接报错: 错误 33 error LNK2005: _DllMai_error lnk2005: _dllmain@12 已经在 msvcrtd.lib(dll_dll-程序员宅基地

文章浏览阅读584次。VS报错 error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义链接报错:错误 33 error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义 E:\客户问题\w_王鹏\EventLibTest_TibrvAlternative_Mult_error lnk2005: _dllmain@12 已经在 msvcrtd.lib(dll_dllmain_stub.obj) 中定义

什么是soap_soap是指什么-程序员宅基地

文章浏览阅读645次。SOAP (Simple Object Access Protocol) 顾名思义,是一个严格定义的信息交换协议,用于在Web Service中把远程调用和返回封装成机器可读的格式化数据。事实上SOAP数据使用XML数据格式,定义了一整套复杂的标签,以描述调用的远程过程、参数、返回值和出错信息等等。而且随着需要的增长,又不得增加协议以支持安全性,这使SOAP变得异常庞大,背离了简单的初衷。另一方面,各个服务器都可以基于这个协议推出自己的API,即使它们提供的服务及其相似,定义的API也不尽相同,这又导致.._soap是指什么