gpt4 book ai didi

java - Spring data rest合并补丁

转载 作者:搜寻专家 更新时间:2023-11-01 03:48:03 25 4
gpt4 key购买 nike

我在我的项目中使用 spring data rest 并且有疑问application/merge-patch+json 请求。虽然 application/json-patch+json 请求工作正常,但我在合并补丁方面遇到了麻烦。例如,我有没有像这样的存储库的嵌套对象

"student":{
"id":1,
"address":{
"id":1,
"street":2,
"building":2
}
}

我正在发送 PATCHapplication/merge-patch+jsonstudents/1有了这个有效载荷

{
"address":{
"street":3
}
}

我得到这个结果

"student":{
"id":1,
"address":{
"id":2,
"street":3,
"building":null
}
}

所以 spring data rest 只是创建了新的地址对象而不是合并。

Java代码是这样的

@Entity
@Table(name = "Student")
public class Student {
@Id
@GeneratedValue
private long studentId;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "addressId")
private Address address;

//getters and setters
}

地址类:

@Entity
@Table(name = "Address")
public class Address {
@Id
@GeneratedValue
private long addressId;
private String street;
private String building;

//getters and setters
}

另外student有rest repository和address没有

我的问题是如何在 spring data rest 中合并补丁请求时实现正确的行为?

最佳答案

虽然是延迟回复,但对其他有相同问题的人有帮助

在输入 JSON 中,地址 id 缺失。

{
"address":{
"id" : 1,
"street":3
}
}

关于java - Spring data rest合并补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38192017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com