3 回答
TA贡献1804条经验 获得超3个赞
您必须先发布评论,在发布评论时,您可以创建一个关联发布实体。
它应该如下所示:
http://{server:port}/comment METHOD:POST
{"author":"abc","content":"PQROHSFHFSHOFSHOSF", "post":"http://{server:port}/post/1"}
它会完美地运作。
TA贡献1790条经验 获得超9个赞
假设您已经发现了post URI并因此发现了关联资源的URI(被认为是$association_uri在下面),它通常采取以下步骤:
发现管理评论的馆藏资源:
curl -X GET http://localhost:8080
200 OK
{ _links : {
comments : { href : "…" },
posts : { href : "…" }
}
}
按照comments链接和POST您的数据到资源:
curl -X POST -H "Content-Type: application/json" $url
{ … // your payload // … }
201 Created
Location: $comment_url
通过向PUT关联URI 发出a 来将评论分配给帖子。
curl -X PUT -H "Content-Type: text/uri-list" $association_url
$comment_url
204 No Content
请注意,在最后一步中,根据规范text/uri-list,您可以提交多个URI,用于标识由换行符分隔的注释,以便一次分配多个注释。
关于一般设计决策的一些注释。阿交/评论例如通常是聚集体,这意味着我会避免从背面参考一个很好的例子Comment的Post,并且还避免了CommentRepository完全。如果注释没有自己的生命周期(它们通常不是在组合风格的关系中),你宁可直接内联呈现注释,而是添加和删除注释的整个过程可以通过使用来处理JSON补丁。Spring Data REST 在即将发布的2.2版本的最新候选版本中增加了对该功能的支持。
TA贡献1883条经验 获得超3个赞
映射关联和组合有两种类型。在关联的情况下,我们使用连接表概念
员工 - 1到n->部门
因此,如果是Association Employee,Department,Employee_Department,将创建3个表
您只需要在代码中创建EmployeeRepository。除此之外,映射应该是这样的:
class EmployeeEntity{
@OnetoMany(CascadeType.ALL)
private List<Department> depts {
}
}
Depatment Entity不会包含forign key的任何mappping ...所以现在当你尝试在单个json请求中添加Employee with Department的POST请求时,它将被添加....
添加回答
举报