Appearance
Web-01 Maven、Spring Boot 与 HTTP
- 分类: Web 题
- 难度: 入门
本节知识点
- Maven 项目结构和依赖管理
- Spring Boot 入门程序
- HTTP 请求和响应
- Controller 与 Service 分层
- IOC 和依赖注入
- JSON 请求与响应
题目要求
使用 Maven 创建一个 Spring Boot Web 项目,实现两个接口:
1. 健康检查
http
GET /api/health返回 HTTP 200:
json
{
"status": "ok"
}2. 消息回显
http
POST /api/echo
Content-Type: application/json请求体:
json
{
"message": "hello"
}响应体:
json
{
"message": "hello",
"length": 5
}长度约定按 String.length() 计算。
参考项目结构
对 Maven 项目结构还不熟悉的话,可以先用下面的骨架起步(包名可自定):
text
web-01/
├── pom.xml
└── src
└── main
└── java
└── com.example.web01
├── Web01Application.java
├── controller
│ ├── HealthController.java
│ └── EchoController.java
├── service
│ └── EchoService.java
└── pojo
├── EchoRequest.java
└── EchoResponse.javapom.xml 的最小配置:
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>web-01</artifactId>
<version>1.0.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.0</version>
</parent>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>版本以课程教学内容为准;如果使用 Spring Boot 3.x,需要 JDK 17 及以上。
实现要求
- 项目需要包含 Controller 和 Service 两层。
EchoRequest和EchoResponse分别表示请求与响应数据。- Controller 只负责接收参数和返回结果,长度计算放在 Service 中。
- 使用 Postman、Apifox 或 cURL 分别测试两个接口。
- 记录本题学习笔记,笔记内容不作其他限制,但开头需要回答本题的全部“必答问题”。
必答问题
- Maven 主要解决了什么问题?
- HTTP 请求和响应分别由哪些主要部分组成?
- IOC 和依赖注入的作用是什么?
- Controller、Service 和持久层(Mapper/DAO)在完整项目中分别负责什么?
完成清单
- [ ] Maven 项目可以正常启动
- [ ]
GET /api/health返回正确结果 - [ ]
POST /api/echo可以解析 JSON 并返回消息长度 - [ ] Controller 与 Service 职责清晰
- [ ] 学习笔记已先回答本题全部必答问题
