Как обновить объект с отношением «многие ко многим», используя MockMvc?

Я пишу простое приложение с весенней загрузкой и хочу его протестировать. У меня есть User класс:

@Entity
@Table(name = "users")
@NoArgsConstructor
@AllArgsConstructor
public class User extends AbstractEntity {
    public enum Type {
        ADMIN, USER
    }

    @Getter
    @Setter
    private Type type;

    @Getter
    @Setter
    private String username;

    @Getter
    @Setter
    private String password;

    @ManyToMany(mappedBy = "managers")
    @Getter
    @Setter
    private Set<Label> label;
}

И класс Label (считайте, что это организация, где работает User):

@Entity
@Table(name = "labels")
@NoArgsConstructor
@AllArgsConstructor
public class Label extends AbstractEntity {
    @Getter
    @Setter
    private String title;

    @OneToOne
    @Getter
    @Setter
    private User creator;

    @ManyToMany(cascade = CascadeType.ALL)
    @JoinTable(name = "label_managers")
    @Getter
    @Setter
    private Set<User> managers;
}

Эти объекты управляются @RepositoryRestResources.

Что я должен написать в своем тесте с MockMvc, чтобы добавить связь между User и Label?


person Leonid Bor    schedule 23.02.2017    source источник


Ответы (1)


«Используя «Content-Type: text/uri-list» вместо JSON, можно «добавить» ресурс в коллекцию с помощью PUT и передать URI. Вы можете удалить ресурс с помощью DELETE».

Просмотрите ответ на следующий вопрос: Как добавить элементы в отношения "многие ко многим" с помощью Spring REST API @RepositoryRestResource?

person Ilya Zinkovich    schedule 14.06.2017