我有两个实体,帖子:
@Data
@Entity
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String date;
private String content;
private String imageUrl;
@ManyToOne
private User author;
@ManyToOne
private User owner;
和用户:
@Data
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String firstName;
private String lastName;
private String email;
private String address;
private String avatarUrl;
private String about;
private Boolean active;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "author")
private List<Post> authorPosts;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
private List<Post> ownerPosts;
我正在使用HAL浏览器添加帖子和用户,但我的关系存在问题。
假设我添加了该用户的用户和链接https://localhost:8080/users/1并添加了帖子https://localhost:8080/posts/1
我应该更新https://localhost:8080/posts/1的字段作者并添加user / 1的链接吗?我不确定但在hal浏览器中是不可能的。 或者我应该将https://localhost:8080/posts/1添加到用户实体中的列表吗?
当我想添加到该列表时,我有这样的感觉: 我应该在这里粘贴什么?链接到该帖子?
提前致谢
答案 0 :(得分:1)
如果我正确理解您的问题,您需要更新author
实体的Post
字段。您可以通过在帖子端点上发送PATCH
请求来执行此操作,如下所示:
PATCH /post/1
{
"author": "http://localhost:8080/user/1"
}
我没有太多使用HAL浏览器,但我希望这个请求应该以相同的方式工作。