当前位置: 首页 > news >正文

《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<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.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”。
http://www.dtcms.com/a/446095.html

相关文章:

  • 信用网站一体化建设网页制作大宝库
  • gRPC从0到1系列【19】
  • 嵌入式Linux Qt触摸屏问题诊断与解决报告
  • gRPC从0到1系列【20】
  • CTFHub 信息泄露通关笔记10:SVN泄露(2种方法)
  • 手机网站开发环境搭建网站建设个人网银
  • 使用 jintellitype 库在 Java 程序中实现监听 Windows 全局快捷键(热键)
  • Python驱动Ksycopg2连接和使用Kingbase:国产数据库实战指南
  • 广州网站网站建设福建建站公司
  • ⚡ arm 32位嵌入式 Linux 系统移植 QT 程序
  • VR大空间资料 02 —— 常用Body IK对比
  • 什么是网站建设需求重庆建设工程信息网查询系统
  • 高校思政专题网站建设南京有哪些知名的网站建设
  • 【SpringCloud(2)】微服务注册中心:Eureka、Zookeeper;CAP分析;服务注册与服务发现;单机/集群部署Eureka;连接注册中心
  • ionic 浮动框详解与应用
  • 开源 C++ QT QML 开发(五)复杂控件--Gridview
  • 下载建设银行官方网站工程承包合同协议书
  • 第九章:装饰器模式 - 动态增强的艺术大师
  • OpenAI 发布 GPT-5 Instant:AI 有了 “情感温度计“
  • 苏州做网站公司选苏州聚尚网络做百度百科的网站
  • SSE与轮询技术实时对比演示
  • 示范专业网站建设深圳联雅网站建设
  • php 8.4.13 更新日志
  • MongoDB 认证失败(错误码 18)
  • 深圳网站建设主页什么公司需要建立网站吗
  • 陕西省建设信息管理网站网站开发 家具销售 文献
  • 数学标准库
  • 怎么做跳转不影响原网站排名云抢购网官方网站
  • 漳州手机网站建设公司陕西专业网站建设哪家好
  • 利用 VsCode + EIDE 进行嵌入式开发(保姆级教程)