Spring, hal браузер и сущности отношения - PullRequest
0 голосов
/ 03 мая 2018

У меня две сущности, Пост:

@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 Browser для добавления сообщений и пользователей, но у меня проблемы с отношениями.

Допустим, я добавляю пользователя и ссылка на этого пользователя https://localhost:8080/users/1, и я добавляю сообщение https://localhost:8080/posts/1

Должен ли я обновить автора поля https://localhost:8080/posts/1 и добавить ссылку на пользователя / 1? Я не уверен, но это невозможно в браузере hal. Или я должен добавить https://localhost:8080/posts/1 к списку в сущности пользователя?

Когда я хочу добавить в этот список, у меня есть что-то вроде этого: enter image description here Что я должен вставить здесь? Ссылка на этот пост?

Заранее спасибо

1 Ответ

0 голосов
/ 10 мая 2018

Если я правильно понимаю ваш вопрос, вы хотите обновить author поле Post сущности. Вы можете сделать это, отправив запрос PATCH на конечную точку почты, как показано ниже:

PATCH /post/1
{
  "author": "http://localhost:8080/user/1"
}

Я не очень часто использовал браузер HAL, но я ожидаю, что этот запрос должен работать так же.

...