Java-Spring 入门指南(十七)SpringMVC--Apipostl与RestFul实战测试

Java-Spring 入门指南(十七)SpringMVC--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)基础配置(首次使用)

  • 启动后默认进入"项目"页面,点击左侧"+"号,新建一个测试项目(如命名为"SpringMVC-RestFul测试"),方便管理接口用例。
  • 项目内点击"+"号,选择"接口",即可开始创建测试用例,后续测试均在该项目下进行。




二、Apipost实战:测试RestFul接口

上一篇博客地址
https://blog.csdn.net/2402_83322742/article/details/152269701

我们以上一篇编写的RestFullController为例,分6个场景用Apipost测试所有接口,每个场景均包含"操作步骤+预期结果",确保你能一步到位验证接口功能。

java 复制代码
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(无参数)

接口信息

  • 请求方法:POST
  • 请求URL:http://localhost:8080/a
  • 功能:无参数新增资源

操作步骤

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

预期结果

  • 响应体显示:PostMapping

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

接口信息

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

操作步骤

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

预期结果

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

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

接口信息

  • 请求方法:DELETE
  • 请求URL:http://localhost:8080/a
  • 功能:无参数删除资源

操作步骤

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

预期结果

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

场景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)

接口信息

  • 请求方法:POST
  • 请求URL:http://localhost:8080/a/form
  • 功能:接收请求体中的JSON数据,返回数据内容

操作步骤

  1. 新建接口,命名为"PostMapping-接收JSON",请求方法选择"POST",URL输入http://localhost:8080/a/form
  2. 配置请求体:
    • 点击"Body"标签页,选择"raw"格式(支持JSON/XML等文本数据)。

    • 右侧格式下拉框选择"JSON",在输入框中填写JSON数据:

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

预期结果

  • 响应体显示: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

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

相关推荐
tuokuac2 小时前
springMVC中/*与/**匹配的区别
java·spring
祈祷苍天赐我java之术3 小时前
Redis 有序集合解析
java·前端·windows·redis·缓存·bootstrap·html
Mr.Ja4 小时前
【LeetCode热题100】No.1——两数之和(Java)
java·算法·leetcode
编啊编程啊程4 小时前
gRPC从0到1系列【20】
java·rpc·kafka·dubbo·nio
万邦科技Lafite6 小时前
如何对接API接口?需要用到哪些软件工具?
java·前端·python·api·开放api·电商开放平台
1710orange6 小时前
java设计模式:静态代理模式
java·设计模式·代理模式
我真的是大笨蛋7 小时前
开闭原则详解(OCP)
java·设计模式·性能优化·开闭原则·设计规范
编啊编程啊程7 小时前
gRPC从0到1系列【19】
java·spring boot·rpc·dubbo·nio
泥嚎泥嚎7 小时前
【Android】Android 的三种动画(帧动画、View 动画、属性动画)
java