《SpringBoot入门实战:从HelloWorld到RESTful接口(支持GET/POST/PUT/DELETE,附Git版本控制)》
目录
1. 前言:为什么写这篇教程?
2. 环境准备
2.1 开发工具与环境
2.2 创建Git仓库
2.3 IDEA克隆仓库到本地
3. SpringBoot HelloWorld入门(GET接口)
3.1 创建SpringBoot项目(IDEA可视化操作)
3.2 项目目录结构介绍
3.3 编写第一个GET接口
3.4 提交到Git
3.5 打包产物
4. 支持Postman测试GET/POST/PUT/DELETE
4.1 扩展HelloController,实现RESTful接口
4.2 Postman测试4种接口
4.2.1 GET请求:查询所有数据
4.2.2 POST请求:新增数据
4.2.3 PUT请求:更新数据
5. 总结与遇到的问题(新手必看)
5.1 核心知识点回顾
5.2 常见问题与解决方法
1. 前言:为什么写这篇教程?
- 目标读者:Java初学者,想快速上手SpringBoot开发接口。
- 本文价值:无需复杂配置,30分钟从零搭建可测试的RESTful接口,并学会用Git管理代码。
- 你将学到:
- SpringBoot项目创建(含依赖选择);
- GET/POST/PUT/DELETE接口开发;
- Postman测试接口全流程;
- Git分步提交代码(符合作业规范)。
2. 环境准备
2.1 开发工具与环境
- JDK 17(或11,推荐17)
- IntelliJ IDEA 2023+(社区版即可)
- Postman(接口测试工具,官网下载)
- Git(安装教程)
- Gitee账号(用于创建Git仓库)
2.2 创建Git仓库
- 打开Gitee → 右上角“+” → 新建仓库 → 仓库名称
L05_SpringBoot_HelloWorld
→ 勾选“初始化README” → 点击“创建”。 - 复制仓库地址(如
https://gitee.com/你的用户名/L05_SpringBoot_HelloWorld.git
)。
2.3 IDEA克隆仓库到本地
3. SpringBoot HelloWorld入门(GET接口)
3.1 创建SpringBoot项目(IDEA可视化操作)
3.2 项目目录结构介绍
(1)添加controller目录新建java代码文件
3.3 编写第一个GET接口
package com.l05.helloworld;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** 第一个SpringBoot控制器:处理HTTP请求* @RestController:标记此类为REST接口控制器(返回JSON/字符串,而非页面)*/
@RestController
public class HelloController {/*** GET请求接口:前端访问 http://localhost:8080/hello 时执行此方法* @GetMapping("/hello"):将HTTP GET请求映射到该方法,路径为/hello* @return 响应给前端的字符串*/@GetMapping("/hello")public String hello() {// 返回字符串"Hello SpringBoot",前端访问时会显示return "Hello SpringBoot";}
}
- 找到主启动类xxx
.java
(含@SpringBootApplication
注解)→ 右键 →Ru
- 打开浏览器 → 访问
http://localhost:8080/hello
→ 截图显示页面输出Hello SpringBoot
。
3.4 提交到Git
右键项目根目录 → Git → Commit Directory
→ 勾选以下文件:
pom.xml
(项目依赖配置)HelloController.java
(接口代码)HelloworldApplication.java
(主启动类)- 点击“Commit” → 提交成功后,右键项目 →
Git → Push
→ 点击“Push”
3.5 打包产物
① 打包产物(默认是jar)
②修改打包产物(war)重新打包
查看打包产物
③补充:修改监听端口
查看8081端口是否启动成功
4. 支持Postman测试GET/POST/PUT/DELETE
4.1 扩展HelloController,实现RESTful接口
package com.l05.helloworld;import org.springframework.web.bind.annotation.*;import java.util.HashMap;@RestController
public class HelloController {/*** 模拟数据库:存储姓名-年龄键值对(静态变量,程序运行时全局共享)* HashMap<String, Integer>:key为姓名(字符串),value为年龄(整数)*/private static HashMap<String, Integer> nameAges = new HashMap<>();// ---------------------- 1. GET:查询所有数据 ----------------------/*** 功能:返回当前存储的所有姓名和年龄* 访问方式:浏览器/Postman GET请求 http://localhost:8080/hello*/@GetMapping("/hello")public String helloGet() {// nameAges.toString():将HashMap转换为字符串(如 {张三=20, 李四=22})return "Hello SpringBoot: " + nameAges.toString();}// ---------------------- 2. POST:新增数据 ----------------------/*** 功能:新增姓名和年龄到HashMap* 访问方式:Postman POST请求 http://localhost:8080/hello,携带参数name和age* @RequestParam String name:接收前端传递的name参数(如 ?name=张三&age=20)* @RequestParam int age:接收前端传递的age参数*/@PostMapping("/hello")public String helloPost(@RequestParam String name, @RequestParam int age) {nameAges.put(name, age); // 将参数存入HashMapreturn "新增成功:name=" + name + ", age=" + age;}// ---------------------- 3. PUT:更新数据 ----------------------/*** 功能:根据姓名更新年龄* 访问方式:Postman PUT请求 http://localhost:8080/hello,携带参数name和age*/@PutMapping("/hello")public String helloPut(@RequestParam String name, @RequestParam int age) {if (nameAges.containsKey(name)) { // 判断name是否存在nameAges.replace(name, age); // 存在则更新agereturn "更新成功:name=" + name + ", age=" + age;} else {return "更新失败:name=" + name + "不存在"; // 不存在则返回失败信息}}// ---------------------- 4. DELETE:删除数据 ----------------------/*** 功能:根据姓名删除数据* 访问方式:Postman DELETE请求 http://localhost:8080/hello/张三(路径传参)* @PathVariable String name:接收路径中的参数(如 /hello/张三,name=张三)*/@DeleteMapping("/hello/{name}") // 路径格式:/hello/姓名public String helloDelete(@PathVariable String name) {if (nameAges.containsKey(name)) {nameAges.remove(name); // 删除该name对应的键值对return "删除成功:name=" + name;} else {return "删除失败:name=" + name + "不存在";}}
}
4.2 Postman测试4种接口
测试前准备:启动项目(运行 java代码,确保控制台无报错)。
4.2.1 GET请求:查询所有数据
4.2.2 POST请求:新增数据
4.2.3 PUT请求:更新数据
4.2.4 DELETE请求:删除数据
5. 总结与遇到的问题(新手必看)
5.1 核心知识点回顾
接口类型 | 注解 | 作用 | 访问方式示例 |
---|---|---|---|
GET | @GetMapping | 查询数据 | http://localhost:8080/hello |
POST | @PostMapping | 新增数据 | POST http://localhost:8080/hello?name=张三&age=20 |
PUT | @PutMapping | 更新数据 | PUT http://localhost:8080/hello?name=张三&age=22 |
DELETE | @DeleteMapping | 删除数据(路径传参) | DELETE http://localhost:8080/hello/张三 |
5.2 常见问题与解决方法
- 问题1:启动项目报错“端口8080被占用” 解决:修改
application.properties
(src/main/resources
下),添加server.port=8081
(换一个端口)。 - 问题2:Postman发送POST请求时参数接收不到 解决:确保参数通过
@RequestParam
接收,且Postman中选择x-www-form-urlencoded
格式(Body
选项卡中)。 - 问题3:Git提交时中文乱码 解决:IDEA设置 →
Editor → File Encodings
→ 所有编码选UTF-8
,勾选“Transparent native-to-ascii conversion”。