SpringBoot新手快速入门系列教程四:创建第一个SringBoot的API
首先我们用IDEA新建一个项目,请将这些关键位置按照我的设置设置一下
接下来我将要带着你一步一步创建一个Get请求和Post请求,通过客户端请求的参数,以json格式返回该参数{“message”:"Hello"}
1,先在IDE左上角把这里改为文件模式
2,我在这里对项目结构就不多解释了,直接把最常用到的几个文件圈了出来
在Spring Boot项目中,以下文件和目录的作用如下:
-
HelloApplication.java的作用如下:启动类:它是包含main方法的类,Spring Boot通过这个方法来启动应用程序。配置类:它通常标注了@SpringBootApplication注解,该注解是一个组合注解,包括了@Configuration、@EnableAutoConfiguration和@ComponentScan。这使得Spring Boot能够自动扫描、配置和加载所有相关的bean和配置。
-
application.properties:
这是Spring Boot的配置文件,用于定义应用程序的配置属性。你可以在这里设置数据库连接信息、服务器端口、日志级别等配置。 -
build.gradle:
这是Gradle的构建脚本文件,用于定义项目的依赖、构建任务和其他配置。Gradle通过这个文件来管理项目的构建过程。
另外setting.gradle也会偶尔不用到
settings.gradle 文件在Gradle项目中用于配置项目的基本设置。它主要用于以下几个目的:
- 定义项目名称:在单项目构建中,可以通过 settings.gradle 文件设置项目名称。
- 多项目构建:在多模块项目中,settings.gradle 文件用于定义构建中包含的所有子项目。
2,编译
新建项目后我们会先编译一下空项目,以确保项目是否生成正确,请先找到图中所示的脚本
先点击一下clean脚本没有问题后再点击build脚本
3,创建类
我们现在在hello文件夹上点击右键,新创建HelloController.java文件,并添加以下内容:
4,引入头文件
import org.springframework.web.bind.annotation.GetMapping; // 用于处理 GET 请求的注解 import org.springframework.web.bind.annotation.PostMapping; // 用于处理 POST 请求的注解 import org.springframework.web.bind.annotation.RequestParam; // 用于提取请求参数的注解 import org.springframework.web.bind.annotation.RestController; // 将类标识为 REST 控制器,返回 JSON 响应 import java.util.HashMap; // 用于创建和操作键值对集合 import java.util.Map; // 用于创建和操作键值对集合
5,Rest控制器
/** * HelloController 是一个 REST 控制器类,提供两个端点:一个用于处理 GET 请求, * 一个用于处理 POST 请求。两个端点的功能都一样,前端发送带参数的请求,服务端返回 * 一个包含请求参数字符串的 JSON 响应。 */ @RestController // 标识该类为 REST 控制器,Spring Boot 将自动处理 HTTP 请求并返回 JSON 响应 public class HelloController { }
6,添加一个Get请求
/** * 处理 GET 请求的端点。请求路径为 /hello。 * 该方法接收一个字符串类型的请求参数 message,并返回一个包含该参数的 JSON 响应。 * * @param message 请求参数 * @return 包含请求参数的 JSON 响应 */ @GetMapping("/hello") // 处理 GET 请求的注解,映射路径为 /hello public Map getHello(@RequestParam String message) { Map response = new HashMap(); // 创建一个 HashMap 来存储响应数据 response.put("message", message); // 将请求参数存入响应数据 return response; // 返回响应数据 }
3,配置运行端口
4,运行程序
接下来我们把Play按钮设置为启动
然后点击启动按钮,看到下面这行日志就说明启动成功了
4,测试Get请求
我们可以打开浏览器在浏览器的地址栏输入
http://localhost:8081/hello?message=HelloSpring
5,添加Post请求
@PostMapping("/hello") // 处理 POST 请求的注解,映射路径为 /hello public Map postHello(@RequestParam String message) { Map response = new HashMap(); // 创建一个 HashMap 来存储响应数据 response.put("message", message); // 将请求参数存入响应数据 return response; // 返回响应数据 }
打开cmd
运行命令:
curl -X POST "http://localhost:8081/hello" -d "message=HelloWorld"