《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仓库
  1. 打开Gitee → 右上角“+” → 新建仓库 → 仓库名称 L05_SpringBoot_HelloWorld → 勾选“初始化README” → 点击“创建”。
  2. 复制仓库地址(如 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";
    }
}
  1. 找到主启动类xxx.java(含 @SpringBootApplication 注解)→ 右键 → Ru
  2. 打开浏览器 → 访问 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:key为姓名(字符串),value为年龄(整数)
     */
    private static HashMap 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); // 将参数存入HashMap
        return "新增成功: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); // 存在则更新age
            return "更新成功: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.propertiessrc/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”。

posted on 2025-11-04 20:54  wgwyanfs  阅读(0)  评论(0)    收藏  举报

导航