使用Spring Boot创建RESTful API,通过定义User实体和UserController实现增删改查,以内存数据模拟服务,结合HTTP动词完成接口设计,快速构建可测试的Web服务。

实现一个RESTful API服务,Java中最常见的方式是使用Spring Boot框架。它简化了配置和开发流程,能快速搭建出符合REST规范的接口服务。下面手把手带你从零开始创建一个基础但完整的RESTful接口。
1. 准备开发环境
确保你具备以下工具:
- JDK 8 或更高版本
- Maven(用于依赖管理)
- IDE(如 IntelliJ IDEA 或 Eclipse)
- 浏览器或 Postman(用于测试接口)
2. 创建Spring Boot项目
访问 https://www.php.cn/link/5ecc613150de01b7e6824594426f24f4,填写以下信息:
- Project: Maven
- Language: Java
- Spring Boot 版本:选择最新稳定版(如 3.x)
- Group: com.example
- Artifact: demo-api
在“Dependencies”中添加:
立即学习“Java免费学习笔记(深入)”;
- Spring Web
点击“Generate”下载压缩包,解压后导入到你的IDE中。
3. 理解RESTful设计原则
RESTful风格的核心是用HTTP动词表达操作,资源用URL表示。例如:
- GET /users → 获取用户列表
- POST /users → 创建新用户
- GET /users/1 → 获取ID为1的用户
- PUT /users/1 → 更新ID为1的用户
- DELETE /users/1 → 删除ID为1的用户
4. 创建实体类(User)
在 src/main/java/com/example/demoapi/entity 目录下创建 User 类:
package com.example.demoapi.entity;public class User { private Long id; private String name; private String email;
// 构造函数 public User() {} public User(Long id, String name, String email) { this.id = id; this.name = name; this.email = email; } // Getter 和 Setter 方法 public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}
5. 创建Controller处理HTTP请求
在 src/main/java/com/example/demoapi/controller 下创建 UserController:
package com.example.demoapi.controller;import com.example.demoapi.entity.User; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicLong;
@RestController @RequestMapping("/users") public class UserController {
private Listusers = new ArrayList<>(); private AtomicLong counter = new AtomicLong(); // 初始化一些测试数据 public UserController() { users.add(new User(counter.incrementAndGet(), "张三", "zhangsan@example.com")); users.add(new User(counter.incrementAndGet(), "李四", "lisi@example.com")); } // GET /users - 获取所有用户 @GetMapping public ListzuojiankuohaophpcnUseryoujiankuohaophpcn getAllUsers() { return users; } // GET /users/{id} - 获取指定用户 @GetMapping("/{id}") public User getUserById(@PathVariable Long id) { return users.stream() .filter(user -youjiankuohaophpcn user.getId().equals(id)) .findFirst() .orElse(null); } // POST /users - 创建新用户 @PostMapping public User createUser(@RequestBody User user) { user.setId(counter.incrementAndGet()); users.add(user); return user; } // PUT /users/{id} - 更新用户 @PutMapping("/{id}") public User updateUser(@PathVariable Long id, @RequestBody User updatedUser) { for (User user : users) { if (user.getId().equals(id)) { user.setName(updatedUser.getName()); user.setEmail(updatedUser.getEmail()); return user; } } return null; } // DELETE /users/{id} - 删除用户 @DeleteMapping("/{id}") public String deleteUser(@PathVariable Long id) { boolean removed = users.removeIf(user -youjiankuohaophpcn user.getId().equals(id)); return removed ? "删除成功" : "用户不存在"; } }
6. 启动并测试API
运行主类(通常叫 DemoApiApplication),启动成功后访问:
- GET http://localhost:8080/users → 查看所有用户
- GET http://localhost:8080/users/1 → 查看ID为1的用户
- POST http://localhost:8080/users → Body 中提交 JSON 数据创建用户
- PUT http://localhost:8080/users/1 → 更新用户信息
- DELETE http://localhost:8080/users/1 → 删除用户
你可以用Postman或curl测试,例如创建用户的POST请求Body:
{
"name": "王五",
"email": "wangwu@example.com"
}
7. 小结与扩展建议
你现在已成功搭建了一个基本的RESTful API服务。虽然当前数据存在内存中,但结构清晰,适合学习理解REST原理。
下一步可以考虑:
- 集成数据库(如 MySQL + JPA/Hibernate)
- 添加数据校验(@Valid)
- 统一返回格式(如封装 Result 对象)
- 加入异常处理(@ControllerAdvice)
- 使用Swagger生成API文档
基本上就这些,不复杂但容易忽略细节。照着做一遍,你就掌握了Java构建RESTful接口的基本能力。











