Java-Spring 入门指南(十七)SpringMVC--Apipostl与RestFul实战测试
Java-Spring 入门指南(十七)SpringMVC--Apipost实战测试
- 前言
- 一、Apipost准备:下载与安装
- (1)Apipost官网下载
- (2)安装步骤(以Windows为例)
- (3)基础配置(首次使用)
- 二、Apipost实战:测试RestFul接口
- 场景1:测试@GetMapping(无参数)
- 场景2:测试@PostMapping(无参数)
- 场景3:测试@PutMapping(无参数)
- 场景4:测试@DeleteMapping(无参数)
- 场景5:测试@PathVariable(路径传参)
- 场景6:测试@RequestBody(接收JSON)
- Apipost测试总结
前言
- 上一篇博客中,我们实现了SpringMVC的RestFul风格接口,涵盖了
@RestController
、@GetMapping
等核心注解与路径传参、请求体接收逻辑,但接口开发的“最后一公里”——测试验证还未落地。 - 浏览器仅能发起GET请求,无法满足POST/PUT/DELETE等请求的测试需求,而
Apipost
是一款轻量高效的API测试工具,能完美支持所有HTTP方法;IDEA的RestFul插件则可让我们在开发工具内直接测试,无需切换窗口。 - 本文将延续
Maven+IDEA+Tomcat 11
环境,从Apipost的下载安装入手,分场景实战测试上一篇的RestFul接口,再补充IDEA插件的使用技巧,帮你打通“开发→测试”全流程。
我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Java-Spring入门指南知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_13040333.html?spm=1001.2014.3001.5482
上一篇博客地址
https://blog.csdn.net/2402_83322742/article/details/152269701
一、Apipost准备:下载与安装
(1)Apipost官网下载
- 打开Apipost官网:https://www.apipost.cn/,点击首页右上角的“免费下载”按钮。
- 根据自己的操作系统(Windows/Mac)选择对应版本,推荐下载“Apipost 8.2.3”(稳定版)
(2)安装步骤(以Windows为例)
- 双击下载的安装包,选择安装路径(建议避开C盘系统目录)。
(3)基础配置(首次使用)
- 启动后默认进入“项目”页面,点击左侧“+”号,新建一个测试项目(如命名为“SpringMVC-RestFul测试”),方便管理接口用例。
- 项目内点击“+”号,选择“接口”,即可开始创建测试用例,后续测试均在该项目下进行。
二、Apipost实战:测试RestFul接口
上一篇博客地址
https://blog.csdn.net/2402_83322742/article/details/152269701
我们以上一篇编写的RestFullController
为例,分6个场景用Apipost测试所有接口,每个场景均包含“操作步骤+预期结果”,确保你能一步到位验证接口功能。
package com.niit.controller;
import org.springframework.web.bind.annotation.*;
@RestController
public class RestFullController {@GetMapping("/a")public String fun1() {return "GetMapping";}@PostMapping("/a")public String fun2() {return "PostMapping";}@PutMapping("/a")public String fun3() {return "PutMapping";}@DeleteMapping("/a")public String fun4() {return "DeleteMapping";}@GetMapping("/a/{id}/{name}")public String fun5(@PathVariable("id") String id,@PathVariable("name") String name) {return "GetMapping=" + id + "=" + name;}@PostMapping("/a/form")public String fun6(@RequestBody String str) {return "PostMapping=" + str;}
}
前置条件
- 启动Tomcat服务器,确保SpringMVC项目正常运行(无报错)。
- 确认项目访问端口为8080(若修改过端口,需同步替换URL中的端口号)。
场景1:测试@GetMapping(无参数)
接口信息:
- 请求方法:GET
- 请求URL:
http://localhost:8080/a
- 功能:无参数查询资源
操作步骤:
- 在Apipost项目中,点击“+”→“接口”,输入接口名称(如“GetMapping-无参数”)。
- 接口编辑页顶部,“请求方法”选择“GET”,“请求URL”输入
http://localhost:8080/a
。 - 无需设置“请求头”和“请求体”,直接点击右上角的“发送”按钮。
预期结果:
- “响应体”显示字符串:
GetMapping
,与代码逻辑一致。
场景2:测试@PostMapping(无参数)
接口信息:
- 请求方法:POST
- 请求URL:
http://localhost:8080/a
- 功能:无参数新增资源
操作步骤:
- 新建接口,命名为“PostMapping-无参数”,请求方法选择“POST”,URL输入
http://localhost:8080/a
。 - 无需设置请求体(因接口无参数),直接点击“发送”。
预期结果:
- 响应体显示:
PostMapping
。
场景3:测试@PutMapping(无参数)
接口信息:
- 请求方法:PUT
- 请求URL:
http://localhost:8080/a
- 功能:无参数修改资源
操作步骤:
- 新建接口,命名为“PutMapping-无参数”,请求方法选择“PUT”,URL输入
http://localhost:8080/a
。 - 直接点击“发送”,无需额外配置。
预期结果:
- 响应状态码200 OK,响应体显示:
PutMapping
。
场景4:测试@DeleteMapping(无参数)
接口信息:
- 请求方法:DELETE
- 请求URL:
http://localhost:8080/a
- 功能:无参数删除资源
操作步骤:
- 新建接口,命名为“DeleteMapping-无参数”,请求方法选择“DELETE”,URL输入
http://localhost:8080/a
。 - 直接点击“发送”。
预期结果:
- 响应状态码200 OK,响应体显示:
DeleteMapping
。
场景5:测试@PathVariable(路径传参)
接口信息:
- 请求方法:GET
- 请求URL:
http://localhost:8080/a/{id}/{name}
(实际参数替换为100
和zhangsan
) - 功能:通过路径传递id和name,查询资源详情
操作步骤:
- 新建接口,命名为“GetMapping-路径传参”,请求方法选择“GET”。
- URL输入
http://localhost:8080/a/100/zhangsan
(将{id}
替换为100,{name}
替换为zhangsan)。 - 点击“发送”。
预期结果:
- 响应体显示:
GetMapping:资源ID=100,资源名称=zhangsan
,路径参数正确传递并拼接。
场景6:测试@RequestBody(接收JSON)
接口信息:
- 请求方法:POST
- 请求URL:
http://localhost:8080/a/form
- 功能:接收请求体中的JSON数据,返回数据内容
操作步骤:
- 新建接口,命名为“PostMapping-接收JSON”,请求方法选择“POST”,URL输入
http://localhost:8080/a/form
。 - 配置请求体:
- 点击“Body”标签页,选择“raw”格式(支持JSON/XML等文本数据)。
- 右侧格式下拉框选择“JSON”,在输入框中填写JSON数据:
{"id":"200","name":"lisi"}
- 配置请求头(关键!):
- 点击“Headers”标签页,新增一条请求头:
- Key:
Content-Type
- Value:
application/json
(说明:该请求头用于告诉后端“请求体是JSON格式”,否则@RequestBody
无法正确解析)
- Key:
- 点击“Headers”标签页,新增一条请求头:
- 点击“发送”。
预期结果:
- 响应体显示:
PostMapping:接收的请求体数据={"id":"200","name":"lisi"}
,JSON数据正确接收。
Apipost测试总结
测试场景 | Apipost操作核心步骤 | 预期响应结果 |
---|---|---|
@GetMapping(无参数) | 方法选GET,URL填/a ,直接发送 | 200 OK,响应体:GetMapping:查询资源成功 |
@PostMapping(无参数) | 方法选POST,URL填/a ,直接发送 | 200 OK,响应体:PostMapping:新增资源成功 |
@PutMapping(无参数) | 方法选PUT,URL填/a ,直接发送 | 200 OK,响应体:PutMapping:修改资源成功 |
@DeleteMapping(无参数) | 方法选DELETE,URL填/a ,直接发送 | 200 OK,响应体:DeleteMapping:删除资源成功 |
@PathVariable(路径传参) | 方法选GET,URL填/a/100/zhangsan ,直接发送 | 200 OK,响应体:GetMapping:资源ID=100,资源名称=zhangsan |
@RequestBody(接收JSON) | 方法选POST,URL填/a/form ;Body选raw-JSON,填{"id":"200","name":"lisi"} ;Headers加Content-Type:application/json ,发送 | 200 OK,响应体:PostMapping:接收的请求体数据={"id":"200","name":"lisi"} |
我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Java-Spring入门指南知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_13040333.html?spm=1001.2014.3001.5482
非常感谢您的阅读,喜欢的话记得三连哦 |