《Java 实战:用 Spring Boot 快速构建一个 RESTful 接口服务》

🧰 一、项目目标

我们要开发一个「用户信息管理接口」服务,支持以下功能:

  • 获取用户列表(GET /users
  • 创建新用户(POST /users
  • 获取单个用户详情(GET /users/{id}

🚀 二、创建 Spring Boot 项目

使用 Spring Initializr 创建项目,选择依赖项如下:

  • Spring Web
  • Spring Boot DevTools
  • Lombok
  • Spring Validation(可选)

👉 推荐用 IDEA 快速生成。


📁 三、定义实体类 User

kotlin 复制代码
java
复制编辑
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
}

📦 四、构建 Controller 层

kotlin 复制代码
java
复制编辑
@RestController
@RequestMapping("/users")
public class UserController {

    private final Map<Long, User> userMap = new ConcurrentHashMap<>();

    @GetMapping
    public List<User> getAllUsers() {
        return new ArrayList<>(userMap.values());
    }

    @GetMapping("/{id}")
    public ResponseEntity<User> getUser(@PathVariable Long id) {
        User user = userMap.get(id);
        if (user == null) {
            return ResponseEntity.notFound().build();
        }
        return ResponseEntity.ok(user);
    }

    @PostMapping
    public ResponseEntity<User> createUser(@RequestBody User user) {
        user.setId(System.currentTimeMillis()); // 简单生成 ID
        userMap.put(user.getId(), user);
        return ResponseEntity.ok(user);
    }
}

🧪 五、使用 Postman 测试接口

  • GET /users → 返回所有用户信息
  • POST /users + JSON 参数 → 添加用户
  • GET /users/{id} → 查询单个用户

🛡 六、加上异常处理(全局处理类)

kotlin 复制代码
java
复制编辑
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public ResponseEntity<String> handle(Exception ex) {
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
                             .body("服务器异常: " + ex.getMessage());
    }
}

📚 七、接口返回统一封装(Optional)

为了提升前后端联调体验,我们可以定义统一响应结构:

kotlin 复制代码
java
复制编辑
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ApiResponse<T> {
    private int code;
    private String message;
    private T data;
}

然后在 Controller 中返回:

sql 复制代码
java
复制编辑
return ResponseEntity.ok(new ApiResponse<>(0, "成功", user));

🔧 八、进阶建议

  • 将数据从内存换成数据库(JPA、MyBatis)
  • 加上参数校验(Spring Validation)
  • 接口加上 Swagger 文档(springdoc-openapi-ui)

✅ 总结

本文从 0 到 1 实战构建了一个 Java 后端接口服务,涵盖:

  • Spring Boot 项目结构
  • RESTful 接口设计
  • 参数处理与异常管理
  • JSON 数据返回封装

适合正在学习 Java Web、Spring Boot 的开发者,欢迎点赞 + 收藏 + 关注!🚀


📌 掘金发布小贴士:

  • 添加标签:Java Spring Boot 后端开发 RESTful API
  • 推荐插图或接口示例截图
  • 建议末尾附上完整 GitHub demo 地址(提高专业性)
相关推荐
Hello.Reader18 小时前
Data Sink定义、参数与可落地示例
java·前端·网络
2401_8370885019 小时前
stringRedisTemplate.opsForHash().entries
java·redis
lkbhua莱克瓦2420 小时前
Java基础——集合进阶3
java·开发语言·笔记
蓝-萧20 小时前
使用Docker构建Node.js应用的详细指南
java·后端
多喝开水少熬夜20 小时前
Trie树相关算法题java实现
java·开发语言·算法
lkbhua莱克瓦2421 小时前
Java基础——集合进阶用到的数据结构知识点1
java·数据结构·笔记·github
音符犹如代码1 天前
Java并发List实战:CopyOnWriteArrayList原理与ArrayList常见面试题
java·开发语言·面试·list
代码or搬砖1 天前
Docker 部署 Java 项目实践
java·docker·容器
又是忙碌的一天1 天前
抽象类和接口
java·开发语言
August_._1 天前
【MySQL】SQL语法详细总结
java·数据库·后端·sql·mysql·oracle