《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 地址(提高专业性)
相关推荐
TT哇10 小时前
【实习】数字营销系统 银行经理端(interact_bank)前端 Vue 移动端页面的 UI 重构与优化
java·前端·vue.js·ui
Elieal10 小时前
SpringBoot 数据层开发与企业信息管理系统实战
java·spring boot·后端
识君啊10 小时前
MyBatis-Plus 逻辑删除导致唯一索引冲突的解决方案
java·spring boot·mybatis·mybatis-plus·唯一索引·逻辑删除
Coder_Boy_10 小时前
Java开发者破局指南:跳出内卷,借AI赋能,搭建系统化知识体系
java·开发语言·人工智能·spring boot·后端·spring
QT.qtqtqtqtqt10 小时前
SQL注入漏洞
java·服务器·sql·安全
独自破碎E10 小时前
BISHI23 小红书推荐系统
java·后端·struts
xqqxqxxq10 小时前
Java IO 核心:BufferedReader/BufferedWriter & PrintStream/PrintWriter 技术笔记
java·笔记·php
Aric_Jones10 小时前
idea使用.env运行SpringBoot项目
java·spring boot·intellij-idea
刘一说10 小时前
Java 中实现多租户架构:数据隔离策略与实践指南
java·oracle·架构
beata10 小时前
Java基础-9:深入 Java 虚拟机(JVM):从底层源码到核心原理的全面解析
java·后端