最近刚把 SpringBoot 的第一个接口跑通,顺手用 Postman 把 GET、POST、PUT、DELETE 都测了一遍。这里记录一下从建项目到测试的完整过程,给同样刚入门的同学做个参考。
一、准备工作
用到的东西不多:
- IDEA(我用的是 IDEA 自带的 Spring Initializr 建项目)
- JDK 17
- Maven
- Postman(接口测试工具)
目标很简单:写一个 HelloController,把增删改查四个接口挂在 /hello 路径上,数据先用一个 HashMap 存着,不连数据库,重点是把流程跑通。
二、新建 Spring Boot 项目
打开 IDEA,新建项目,生成器选 Spring Boot,服务器用默认的 start.spring.io。配置按下面这样填:

几个关键项:
- 名称:demo-l05ys(随便起,改成自己的就行)
- 语言:Java
- 类型:Maven
- 组 / 软件包名称:com.example / com.example.demol05ys
- JDK:17(我这里用的 Microsoft OpenJDK 17.0.20)
- 打包:Jar
- 配置:Properties
点”下一步”,进到依赖选择页面。我们这个项目只需要勾 Web 分类下的 Spring Web:

Spring Web 的说明写得很清楚:用来构建 Web 应用和 RESTful 接口,默认自带内嵌的 Tomcat,所以不用自己装服务器,直接运行 main 方法就能启动。选完点”创建”,IDEA 会自动下载依赖并生成项目骨架。
生成的项目大概长这样:
1 | demo-l05ys |
三、写接口:HelloController
在 com.example.demol05ys.controller 包下新建 HelloController 类,代码如下:
1 | package com.example.demol05ys.controller; |
代码本身不复杂,说几个点:
@RestController:加在类上,表示这个类里所有方法的返回值直接写进响应体。我们返回的是字符串,所以浏览器或 Postman 看到的就是这串字符串本身,不是页面。它相当于@Controller+@ResponseBody的合体。四个注解对应四种请求方式:
@GetMapping("/hello"):GET,查询@PostMapping("/hello"):POST,新增@PutMapping("/hello"):PUT,修改@DeleteMapping("/hello/{name}"):DELETE,删除
同一个路径
/hello可以挂四个方法,Spring 根据请求方式区分该调谁。参数怎么接收:POST 和 PUT 里的
String name, Integer age没加注解,Spring 会按参数名自动从 URL 的查询参数里取值,也就是说?name=wys&age=21能直接绑定上。DELETE 里的@PathVariable String name则是从路径里取值,请求/hello/wys时name就等于wys。数据存在
static HashMap里:纯粹为了演示方便,不连数据库。注意它是静态的、存在内存里,程序一重启数据就没了。另外replace只在 key 已存在时才替换,所以 PUT 一个不存在的名字不会新增。
写完的代码在 IDEA 里长这样:

四、启动项目
直接运行启动类 demol05ysApplication 的 main 方法就行。看到控制台输出 Started demol05ysApplication in ... 就说明启动成功了,默认端口是 8080。
如果端口被占用,可以在 application.properties 里改:
1 | server.port=8081 |
五、用 Postman 测试接口
1. 建一个集合管理请求
建议在 Postman 里建一个集合(我起名叫”学习”),把四个请求按用途命名放进去,后面对照着测就很清楚:

- GET 获取信息
- POST 设置信息
- PUT 更新信息
- DEL 删除信息
另外截图里请求地址写的是 {{apiBasePath}}/hello,这是 Postman 的环境变量。我在”测试环境”里把 apiBasePath 设成了 http://localhost:8080,好处是以后端口或部署地址变了,只改环境变量一处就行,四个请求都不用动。
2. POST 新增
方法选 POST,地址 {{apiBasePath}}/hello,在 Params 里加两个查询参数:
| Key | Value |
|---|---|
| name | wys |
| age | 21 |
点 Send,返回 200 OK,响应内容:
1 | add name: wys, age= 21 |

3. GET 查询
方法选 GET,地址 {{apiBasePath}}/hello,不需要参数。点 Send,返回:
1 | Hello SpringBoot: {wys=21} |
能看到刚才 POST 进去的那条数据确实在 Map 里了:

4. PUT 修改
方法选 PUT,地址还是 {{apiBasePath}}/hello,参数改成 name=wys、age=22,点 Send,返回:
1 | update name: wys, age= 22 |
再用 GET 验证一下,这时候 Map 里应该是 {wys=22}。
5. DELETE 删除
方法选 DELETE,注意这次不是传查询参数,而是把名字放在路径里:{{apiBasePath}}/hello/wys。点 Send,返回:
1 | delete name: wys |

最后再 GET 一次,返回 Hello SpringBoot: {},说明删除成功。
到这儿,增删改查四个接口就全部测完了,整个流程就是:POST 加一条 → GET 看到 → PUT 改掉 → DELETE 删掉 → GET 变空。
六、小结
- SpringBoot 建 Web 项目只需要勾一个 Spring Web 依赖,内嵌 Tomcat,启动类一跑就能用;
@RestController+@GetMapping/@PostMapping/@PutMapping/@DeleteMapping就能快速挂出 REST 风格的接口;- 参数接收有两种常见方式:查询参数按名字自动绑定,路径参数用
@PathVariable; - Postman 里建议用集合管理请求、用环境变量管理地址,测试增删改查一套下来思路很顺。
这个例子麻雀虽小,但把”建项目—写接口—启动—测试”的完整链路走了一遍。下一步可以把 HashMap 换成 MyBatis/MyBatis-Plus 加上数据库,返回值也可以换成统一的 JSON 格式,那就是正式项目的雏形了。