《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 地址(提高专业性)
相关推荐
Cc.Y9 小时前
Java零基础入门:字符串深度掌握——从基础API到StringBuilder性能优化
java·开发语言·性能优化
shuoshuohaohao13 小时前
MyBatis 小知识点
java·spring·mybatis
海上小飞龙14 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
谢亮_vipxieliang15 小时前
泛型擦除、通配符与 PECS 一次讲透
java·面试
八解毒剂15 小时前
【计组】中央处理器CPU
java·开发语言·计算机组成原理
打工仔折腾 AI16 小时前
工业场景下时序库与实时计算一体化架构选型实践对比
java·开发语言·后端·python·性能优化·架构·ai agent 实战
ZealSinger16 小时前
Java虚拟线程上线后瓶颈转移到哪看三层
java·开发语言·firefox
2601_9611332816 小时前
盘立方软件指标文华期货公式下载
java
蜗牛互联网16 小时前
长任务多Agent共享文件系统的Manifest交接模式
java·人工智能·后端
Sirens.16 小时前
Java并发锁详解:六类锁策略与 synchronized 底层原理
java·前端·算法