如何在 Spring Data Rest 应用程序中的实体之间创建引用

2024-01-25

我正在尝试使用 Spring Boot + Data Rest + JPA 构建简单的应用程序。
A 具有具有一对多关系的 Category 和 Book 实体:

<!-- language-all: java -->    
@Entity
public class Category {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "category")
    private Set<Book> books;

    ...getters & setters next...
}

and

@Entity
public class Book {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String name;
    @ManyToOne
    private Category category;

    ...getters & setters next...
}

每个实体的简单存储库

@RepositoryRestResource
public interface BookRepository extends JpaRepository<Book, Long> {}

@RepositoryRestResource
public interface CategoryRepository extends JpaRepository<Category, Long> {}

及应用:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

应用程序成功启动,我可以创建书籍和类别。
Q.:我如何创建和删除它们之间的引用?

我尝试了这里描述的解决方案:在 Spring Data REST 中发布 @OneToMany 子资源关联 https://stackoverflow.com/questions/25311978/posting-a-onetomany-sub-resource-association-in-spring-data-rest- 对我不起作用:根据 PUT 请求“内容类型:文本/uri-列表”header 我有响应代码 204 并且数据库中没有任何更改。更深入地查看,我在日志中发现了以下调试消息:

s.w.s.m.m.a.RequestMappingHandlerMapping : 
Did not find handler method for [/categories/1/books]

此 url 仅适用于 GET 请求。

Q.:有什么想法我的配置有什么问题吗?

Thanks.


To create书籍(id:1)和类别(id:1)之间的关系:

  • 提出请求,
  • 媒体类型:文本/uri-列表,
  • data: http://localhost:8080/categories/1 http://localhost:8080/categories/1
  • 请求http://localhost:8080/books/1/类别 http://localhost:8080/books/1/category

卷曲示例:

curl -X PUT -H "Content-Type: text/uri-list" -d "http://localhost:8080/categories/1" http://localhost:8080/books/1/category

To remove这种关系只是对同一地址发出删除请求

卷曲示例:

curl -X DELETE http://localhost:8080/books/1/category

并回答您的第二个问题:您的配置看起来不错,我已经在您的代码上测试了这个示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Spring Data Rest 应用程序中的实体之间创建引用 的相关文章

  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 将不同类型的参数传递给 jdbctemplate 查询

    我正在尝试使用带有少量不同类型参数的 where 子句从数据库中检索记录 这是我编写的简单方法 我将breedId和性别作为参数传递 public List
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • 构建 AOSP 并添加具有运行时权限的系统应用程序

    我在 Android 6 AOSP 上工作 我能够构建添加应用程序作为系统应用程序 但现在我想在这个系统应用程序上默认添加运行时权限 这样应用程序就可以启动而无需要求用户验证权限 你知道我该怎么做吗 谢谢你的帮助 如果您的应用程序具有特权
  • 为什么 getSelectedItem 返回 null?

    我刚刚学习 OOP 对这篇基本文章感到抱歉 我不知道为什么当我尝试获取所选项目的值时它返回 nullJComboBox public class AddEmployee extends javax swing JInternalFrame
  • 所见即所得与所见即所得

    在基于 Web 的应用程序中 哪一个更好 更理想 Edit 实际上我正在开发一个社区网站 所以用户的水平可能会有所不同 听说 WYSIWYG 编辑器存在 XSS 安全问题 我也不熟悉所见即所得编辑器及其功能 据我所知WYSIWYM 编辑器中
  • python-从json对象中选择唯一的键值

    我有一个json回复 data id 1 name Tom age 24 id 2 name Nick age 45 id 3 name Harry age 18 id 1 name Tom age 29 count 4 而且我要outpu
  • Heroku“psql:致命:剩余的连接插槽保留用于非复制超级用户连接”

    我正在 Heroku 上开发一个带有 Postgresql 后端的应用程序 当我尝试从 CLI 和在服务器上加载页面访问数据库时 我会定期收到此错误消息 psql FATAL remaining connection slots are r
  • 结构体作为 Go 映射中的键

    我正在研究使用结构作为 golang 映射中的键 该结构中的字段也应该是映射 这似乎与提供的文档相悖here http blog golang org go maps in action这表示只有具有可比较字段的结构 and 可以位于用作映
  • 什么是 weblogic.socket.Muxer?

    你们中有人了解 weblogic socket Muxer 在 WebLogic 8 1 中的用途吗 我经常在线程转储中看到类似于以下的堆栈跟踪 ExecuteThread 0 for queue weblogic socket Muxer
  • HttpContext.Current.User 始终为 null

    我有一个 WCF 服务 它有一个方法可以返回正在使用该服务的 Silverlight 客户端的 Windows 用户名 WCF 服务使用 basicHttpBinding 并将 TransportCredentialOnly 模式设置为 W
  • 与适用于 Mac 的三星智能电视 sdk 4.1 配合使用

    我有一个愚蠢的问题 我安装 2013 Samsung TV SDK 4 1 MacOS pkg 并下载 2013 Smart TV Emulator 4 1 VB zip 和虚拟盒的安装 ova 文件 所以我想终于一切都完成了 但不是 当我
  • 如何让 JTIdy 使 HTML 文档格式良好?

    我正在使用 JTidy v r938 我正在使用这段代码来尝试清理页面 final Tidy tidy new Tidy tidy setQuiet false tidy setShowWarnings true tidy setShowE
  • Rails 在集成测试中设计经过身份验证的路由

    我想测试应用程序中的每条路线 并了解到我应该在集成测试中执行此操作 在 ruby on Rails 中测试路线的位置 https stackoverflow com questions 5290245 where to test route
  • Python:如何在给定时间调用字典包含的可调用对象?

    我正在使用 python 中的字典对象 其中包含许多键 它们的一些关联值类型是可调用类型 就像是 dico key1 1 key2 cars key3
  • Spark Streaming:接收器故障后如何不重新启动接收器

    我们正在使用自定义 Spark 接收器 它从提供的 http 链接读取流数据 如果提供的http链接不正确 则接收失败 问题是spark会不断重启接收器 并且应用程序永远不会终止 问题是如果接收器失败 如何告诉 Spark 终止应用程序 这
  • DIV 水平和垂直居中[重复]

    这个问题在这里已经有答案了 有没有办法垂直和水平居中 DIV但是 这一点很重要 当窗口小于内容时 不会剪切内容 div 必须具有背景颜色以及宽度和高度 我总是使用绝对定位和负边距将 div 居中 如提供的示例中所示 但它有一个问题 就是把上
  • 按条件动态搜索

    我在用QueryDSL with Spring Data Jpa我想执行一些动态搜索 我遵循这个Answer https stackoverflow com a 23896303 3756879没关系BooleanBuilder但就我而言
  • 以编程方式打开和关闭 Chart.js 工具提示

    Chart js 2 2 1 知道如何触发当我将鼠标悬停在数据点上时运行的代码以及当我将鼠标移开时运行的代码吗 我需要以编程方式显示和隐藏图表的工具提示 openTip oChart datasetIndex pointIndex how
  • 如何在 Windows Powershell 中获取 Azure Active Directory 用户名?

    我正在尝试从 Windows 10 Azure Active Directory AAD 加入的计算机上的 Powershell 获取当前的 Windows 用户名和域 我已经尝试过以下提示这个问题 https stackoverflow
  • PHP 中 C++ 的虚函数相当于什么?

    Is it abstract function xxx 我刚刚做了一个测试 似乎表明私有方法也是虚拟的 class a private function test echo 1 class b extends a private funct
  • 转换后的数组中的第 K 个元素

    我在最近的采访中遇到了这个问题 给定一个数组A长度N 我们应该回答Q查询 查询表格如下 Given x and k 我们需要创建另一个数组B具有相同的长度使得B i A i x where 是异或运算符 对数组进行排序B按降序排列并返回B
  • 如何在 Spring Data Rest 应用程序中的实体之间创建引用

    我正在尝试使用 Spring Boot Data Rest JPA 构建简单的应用程序 A 具有具有一对多关系的 Category 和 Book 实体 Entity public class Category Id GeneratedVal