讲师中心 微信公众号
AI工具推荐 视频效率加速

2.9版本Starter Spring Data REST自动暴露【快速接口】

夏辰同学_9135

夏辰同学_9135

发布时间:2026-08-07 20:39:24

|

974人浏览过

|

来源于php中文网

原创

Spring Boot 2.9中,spring-boot-starter-data-rest可自动将JPA Repository暴露为REST端点,但需同时满足:引入spring-boot-starter-data-jpa、spring-boot-starter-data-rest和spring-boot-starter-web三依赖;实体类正确标注@Entity等JPA注解并提供getter/setter(如用Lombok需@Data);Repository接口继承JpaRepository;且application.yml中未设置spring.data.rest.enabled: false。

2.9版本starter spring data rest自动暴露【快速接口】

Spring Boot 2.9版本中,spring-boot-starter-data-rest依赖会自动将JPA Repository接口暴露为RESTful端点,无需手写Controller即可获得标准CRUD接口,但必须满足实体、仓库与配置三者协同生效的硬性条件。

确认项目已引入正确Starter依赖

打开pom.xml,确保存在且仅存在以下核心依赖(缺一不可):

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

【spring-boot-starter-data-rest必须与spring-boot-starter-web共存】,否则启动时不会注册DispatcherServlet,REST端点根本无法响应HTTP请求。

定义实体类并启用JPA注解

创建一个标准JPA实体类,例如User.java:

@Entity
@Table(name = "t_user")
@Data
public class User {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;
  private String name;
  private Integer age;
}

注意:Lombok的@Data必须存在,否则Repository返回的JSON会因getter缺失而为空字段;若不用Lombok,需手动补全所有getter/setter/toString方法。

声明继承JpaRepository的接口

新建接口UserRepository,继承JpaRepository并指定泛型:

public interface UserRepository extends JpaRepository<User, Long> {
}

这一步是触发自动暴露的开关——Spring Data REST只扫描继承了JpaRepository(或CrudRepository、PagingAndSortingRepository)的接口,并为其生成/hal-browser可访问的REST资源路径。

检查application.yml是否禁用了自动暴露

确认配置文件中未设置以下禁止项:

spring:
  data:
    rest:
      enabled: false

若存在该配置,整个Spring Data REST功能将被全局关闭,所有Repository端点均不可见。默认值为true,无需显式配置。

启动应用并验证端点可用性

第一步:运行Spring Boot主类,观察控制台日志中是否出现类似输出:
"Mapped URL [/api/users] onto public org.springframework.hateoas.server.mvc.WebMvcLinkBuilder..."

第二步:访问 http://localhost:8080/api ,页面应显示JSON格式的超媒体资源列表,包含users等已识别的Repository资源链接。

第三步:直接调用GET http://localhost:8080/api/users,返回空数组[]或已有数据列表,状态码200即表示自动暴露成功。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

2091

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

397

2026.01.26

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

3028

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

4189

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3649

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

366

2026.01.19

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

0

2026.09.21

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

20

2026.09.20

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

0

2026.09.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn