我有一个log
表,其中包含以下列:
我有另一张user
表,就像:
我的日志实体有一个@OneToOne
和@JoinColumn
到User
个实体,因此Log
实体的seenBy
类型为User
。
所以Log
JSON资源如下所示:
{
"id" : "1",
"asset" : "something",
"seenBy" :
{"userId" : "11",
"name" : "some user"}
}
这适用于GET请求。但对于POST请求,我必须发布整个User
资源,我不想这样做。
所以,我想要的是,在GET中,Log
JSON应该保持相同的状态,并且' seeBy'作为User' type. But for POST request I only want to send the
userId`。因此,对于POST,JSON资源应如下所示:
{
"id" : "1",
"asset" : "something",
"seenBy" : "11"
}
有没有办法实现这个目标?
P.S。我正在使用Spring Boot 1.5.3。 MySql作为数据库。和Spring Data Jpa。
答案 0 :(得分:-1)
有一种方法可以做到。
方法是以方式定义您的类,以便不存在USER和LOG表的直接映射。但只有LOG表中的ID作为LONG或INTEGER字段。传递用户并以DTO对象的身份登录后端。从用户对象获取ID并在日志ID字段中设置。