《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 地址(提高专业性)
相关推荐
心之语歌1 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊3 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang3 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang4 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解4 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SimonKing8 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean9 小时前
Jackson View Extension Spring Boot Starter
java·后端
Seven9710 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55119 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河19 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化