小白的技术手记
首页项目归档照片墙音乐灵境说说杂谈友链关于
封面

从零写一个 RESTful API,我用 Spring Boot 试了试

写作时间:2026-07-13T22:36:41.424Z
# Java
# Spring Boot
# REST
# 后端

从零写一个 RESTful API,我用 Spring Boot 试了试

背景

虽然 Java 是我的老本行(有证的那种),但很久没碰了。这篇文章算是「手生恢复训练」——用 Spring Boot 搭一个简单的 RESTful API。

REST API 服务开发插画

项目初始化

用 Spring Initializr 生成基础项目:

  • Spring Web
  • Spring Data JPA
  • PostgreSQL Driver
  • Lombok
  • Validation
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

基础架构

三层架构

Controller → Service → Repository → Database
  • Controller:接收请求,返回响应
  • Service:业务逻辑
  • Repository:数据访问(JPA)

统一响应格式

@Data
@AllArgsConstructor
public class Result<T> {
    private int code;
    private String message;
    private T data;

    public static <T> Result<T> success(T data) {
        return new Result<>(200, "success", data);
    }

    public static <T> Result<T> error(int code, String message) {
        return new Result<>(code, message, null);
    }
}

全局异常处理

用 @ControllerAdvice 统一处理异常,避免每个 Controller 写 try-catch。

对比 Node.js 版本

在博客的后端(Fastify 版)和 Spring Boot 版之间,我的一些对比感受:

维度 Fastify (Node.js) Spring Boot (Java)
启动速度 毫秒级 3-5秒
内存占用 ~30MB ~200MB
开发效率 快(热更新) 中等(需要编译)
类型安全 TypeScript 原生强类型
生态成熟度 中等 非常成熟

总结

Java 捡起来不难,基本的思维还在。但对于博客这种轻量应用,Node.js 更合适——开发速度快,资源占用小。Java 更适合大型企业应用。

下次可以试试 WebFlux 响应式编程,或者搞个 GraphQL。

avatar

小白

全栈开发学习者,记录从零到一的技术实践、部署运维与 AI 工程探索。

GHG

RECOMMENDED

三天,我把一台‘能跑’的服务器变成了‘可恢复’的系统

2026-07-18T08:29:49+08:00

AI 不该只是顺着你:我为什么要求它‘有错必指出’

2026-07-18T07:37:49+08:00

计划失败以后,我没有删除它,而是把它归档了

2026-07-18T07:37:48+08:00

Table of Contents