详细介绍:Java-Spring 入门指南(十七)SpringMVC--Apipostl与RestFul实战测试

news/2025/10/4 22:31:27/文章来源:https://www.cnblogs.com/ljbguanli/p/19126018

详细介绍: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官网下载

  1. 打开Apipost官网:https://www.apipost.cn/,点击首页右上角的“免费下载”按钮。
  2. 根据自己的操作系统(Windows/Mac)选择对应版本,推荐下载“Apipost 8.2.3”(稳定版)

在这里插入图片描述
在这里插入图片描述

(2)安装步骤(以Windows为例)

  1. 双击下载的安装包,选择安装路径(建议避开C盘系统目录)。

(3)基础配置(首次使用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


二、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;
}
}

前置条件

  1. 启动Tomcat服务器,确保SpringMVC项目正常运行(无报错)。
  2. 确认项目访问端口为8080(若修改过端口,需同步替换URL中的端口号)。

场景1:测试@GetMapping(无参数)

接口信息

  • 请求方法:GET
  • 请求URL:http://localhost:8080/a
  • 功能:无参数查询资源

操作步骤

  1. 在Apipost项目中,点击“+”→“接口”,输入接口名称(如“GetMapping-无参数”)。
  2. 接口编辑页顶部,“请求方法”选择“GET”,“请求URL”输入http://localhost:8080/a
  3. 无需设置“请求头”和“请求体”,直接点击右上角的“发送”按钮。

预期结果

  • “响应体”显示字符串:GetMapping,与代码逻辑一致。

在这里插入图片描述

场景2:测试@PostMapping(无参数)

接口信息

操作步骤

  1. 新建接口,命名为“PostMapping-无参数”,请求方法选择“POST”,URL输入http://localhost:8080/a
  2. 无需设置请求体(因接口无参数),直接点击“发送”。

预期结果

场景3:测试@PutMapping(无参数)

接口信息

  • 请求方法:PUT
  • 请求URL:http://localhost:8080/a
  • 功能:无参数修改资源

操作步骤

  1. 新建接口,命名为“PutMapping-无参数”,请求方法选择“PUT”,URL输入http://localhost:8080/a
  2. 直接点击“发送”,无需额外配置。

预期结果

  • 响应状态码200 OK,响应体显示:PutMapping

在这里插入图片描述

场景4:测试@DeleteMapping(无参数)

接口信息

操作步骤

  1. 新建接口,命名为“DeleteMapping-无参数”,请求方法选择“DELETE”,URL输入http://localhost:8080/a
  2. 直接点击“发送”。

预期结果

场景5:测试@PathVariable(路径传参)

接口信息

  • 请求方法:GET
  • 请求URL:http://localhost:8080/a/{id}/{name}(实际参数替换为100zhangsan
  • 功能:通过路径传递id和name,查询资源详情

操作步骤

  1. 新建接口,命名为“GetMapping-路径传参”,请求方法选择“GET”。
  2. URL输入http://localhost:8080/a/100/zhangsan(将{id}替换为100,{name}替换为zhangsan)。
  3. 点击“发送”。

预期结果

  • 响应体显示:GetMapping:资源ID=100,资源名称=zhangsan,路径参数正确传递并拼接。

在这里插入图片描述

场景6:测试@RequestBody(接收JSON)

接口信息

操作步骤

  1. 新建接口,命名为“PostMapping-接收JSON”,请求方法选择“POST”,URL输入http://localhost:8080/a/form
  2. 配置请求体:
    • 点击“Body”标签页,选择“raw”格式(支持JSON/XML等文本数据)。
    • 右侧格式下拉框选择“JSON”,在输入框中填写JSON数据:
      {"id":"200","name":"lisi"}

在这里插入图片描述

  1. 配置请求头(关键!):
    • 点击“Headers”标签页,新增一条请求头:
      • Key:Content-Type
      • Value:application/json
        (说明:该请求头用于告诉后端“请求体是JSON格式”,否则@RequestBody无法正确解析)
  2. 点击“发送”。

预期结果

在这里插入图片描述

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

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

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

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

相关文章

高中数列梳理

upd.2025.10.3 高中数学中的数列 本文内容有: \(1.数列意义\) \(2.特殊数列(等差\&等比)\) \(3.数列单调性\) \(4.数列通项方法\) \(5.数列求和方法\) (以下待施工) \(6.数列不等式\) \(ex.差分算子方法\) 1.数列意…

详细介绍:告别 403 Forbidden!详解爬虫如何模拟浏览器头部(User-Agent)

详细介绍:告别 403 Forbidden!详解爬虫如何模拟浏览器头部(User-Agent)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

工程建设造价全过程监督网站中国新冠疫苗接种率

最大矩形 难度:困难 题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例1 输入:matrix [["1","0","1","0",&qu…

Redis Zset的底层秘密:跳表(Skip List)的精妙设计 - 详解

Redis Zset的底层秘密:跳表(Skip List)的精妙设计 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

网站开发部职责搜款网站一起做网店

我们通过将近半天的搜索数据,查到了美国五大湖中优势物种的食物网数据,以Eric伊利湖为例,共包含34各优势物种,相互之间的关系如下图所示: 一、题目 (一) 赛题原文 2024 MCM Problem A: Reso…

实用指南:TCP连接关闭的“礼貌告别“与“果断离场“:深入解析Linger选项

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

郑州做网站和推广哪家好wordpress 顶部栏

文章目录 ISO文件格式光盘的基本概念光盘种类特点DVDR光盘使用windows调用Linux调用Linux平台下用到的C库:读取设备驱动列表向光驱中写文件 数字存储媒体快速发展的今天,光驱的使用已经不像以前那样普及了。但是在数据备份、安装软件和操作系统、旧设备兼容等领域还…

虚拟商品购物网站源码网站设计参考网址

Nginx是一个高性能的web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 (1)更快 这表现在两个方面:一方面,在正常情况下&…

网站的字体做多大企业管理咨询类公司

本文实例讲述了Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法。分享给大家供大家参考,具体如下:前言:laravel创建数据库,实际可以手动创建,如古老的phpmyadmin 等均可以。一、数据库连接&#xff1a…

深入解析:从 CefSharp 迁移至 DotNetBrowser

深入解析:从 CefSharp 迁移至 DotNetBrowser2025-10-04 22:18 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

为什么很多地级市、县级市都把高铁站盖到了郊区呢 —— 以鞍山西站、海城西站为例

为什么很多地级市、县级市都把高铁站盖到了郊区呢 —— 以鞍山西站、海城西站为例每次假期都是要从高铁西站下车,每每如此总是免不得抱怨,毕竟这个郊区的西站无形之中就把回家的距离拉远了快30公里,如果短途做高铁,…

AtCoder Beginner Contest 426 实况记录 + A-D 题解

省流:只有 \(1000\) 分,遗憾离场。 这篇文章用来警示大家不要在比赛中犯相同的错误。 A. OS Versions AI 出来解释一下 \(\texttt{newer than}\) 翻译成“更新”何意味?请判断版本 \(X\) 与版本 \(Y\) 是否相同或更…

提示词攻击如何防范(2025):从 Indirect Prompt Injection 到 RAG 供应链的分层防御实战

2025 年 LLM 首要风险仍是 Prompt Injection / 间接提示词注入(Indirect Prompt Injection, IPI),RAG 供应链与外部工具风险 针对主要AI应用的暴露面。 需要对齐OWASP LLM01 / MITRE ATLAS / NIST AI RMF,并提供 *…

但行好事,莫问前程

但行好事,莫问前程又是一次忘了在第一天前写的考试。 这一个月经历了太多的跌宕起伏:从上一次考试的惊喜,到渐渐出现问题,再到逐渐回归正常的学习,最后在第二次考试之前又出现了大问题。具体问题是什么不好说。 我…

【STM32项目开源】基于STM32的智能养殖场环境监测系统 - 详解

【STM32项目开源】基于STM32的智能养殖场环境监测系统 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

wordpress地址为灰色免费智能seo收录工具

集成联调交付(Integrated Joint Debugging and Delivery)是软件开发过程中的一个阶段,主要涉及将不同的软件模块或组件整合在一起,并进行联合调试和测试,以确保它们能够作为一个整体正常工作。这个过程通常发生在开发周…

前端学习教程-Axios

Axios 是一个基于 Promise 的流行的 HTTP 客户端,用于浏览器和 Node.js 环境,支持 Promise API、拦截请求和响应、转换请求数据和响应数据等功能。 一、安装 Axios使用 npm 或 yarn 安装(适用于 Vue/React 等项目)…

镇江网站开发图片摄影网站

在2018杭州云栖大会的主论坛上,阿里云技术研发总经理蒋江伟发表了《飞天2.0,万物智能的基础服务》的主题演讲,从全连接、安全、简便、高速四个方面,阐述了飞天2.0网络的新特性。 蒋江伟表示,万物智能时代产生的海量数据…

网站域名怎么做杰恩设计网站是谁做的

JVM 案例 案例一:服务器内存不足,影响Java应用 问题: 收到报警,某Java应用集群中一台服务器可用内存不足,超过报警阈值。 排查过程: 首先,通过Hickwall查看该应用各项指标,发现无论…

网站是怎样制作的自媒体135手机版

电商技术揭秘相关系列文章 电商技术揭秘一:电商架构设计与核心技术 电商技术揭秘二:电商平台推荐系统的实现与优化 电商技术揭秘三:电商平台的支付与结算系统 电商技术揭秘四:电商平台的物流管理系统 电商技术揭秘五&#xf…