我有模特人与帐户和学校模型的关系:
@Entity
public class Person {
@GeneratedValue
@Id
private Long id;
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@RestResource(exported = false)
private Account account;
@ManyToOne(fetch = FetchType.EAGER)
private School school;
}
这个想法 - 该帐户应该只能使用用户模型进行编辑。对于我所要求的学校,我发送的内容是这样的:
"school": "http://localhost:8080/schools/2"
它可以正常处理POST请求。我这样发送json:
{
"account": {
"username": "test",
"email": "testEmail"
},
"school": "http://localhost:8080/schools/2"
}
在该请求之后创建了新人和帐户,对于school_id - 我在数据库中需要值。
它可以正常处理PATCH请求。我这样发送json:
{
"account": {
"username": "new test",
"email": "new testEmail"
},
"school": "http://localhost:8080/schools/1"
}
在该请求之后,需要在数据库中更新字段。
PUT请求中的问题。我这样发送json:
{
"account": {
"username": "put test",
"email": "put testEmail"
},
"school": "http://localhost:8080/schools/2"
}
此请求的结果:
我有新行,旧帐户行未更新 没有删除;
学校未更新。
我希望PUT操作具有与PATCH请求相同的行为。我需要通过PUT请求更新所需的字段。我需要帮助。我应该改变什么?