У меня возникли трудности с созданием ассоциации коллекции, с которой я могу отправить сообщение. У меня есть два объекта - Device and Group, имеющие отношения «Множество-много». так что устройство может находиться в нуле или более группах, а группа может содержать ноль или более Устройства.POST для объединения коллекции с использованием Spring Data Rest
Я могу создать новые объекты Device и Group путем POSTing в/api/devices и/api/groups /. Из моего чтения документов в устройстве в коллекции устройств должен быть RestResource, который представляет коллекцию групп, членом которых является устройство (то есть./Api/devices/{deviceId}/groups. Это «ресурс ассоциации» и так как это пример Set<Group>
Я бы подумал, что это считается коллективной ассоциацией. Я могу получить и PUT uri-list
s этой ассоциации, но когда я отправляю на нее, я получаю 404.
Этот список может стать довольно большой, и я хотел бы иметь возможность опубликовать новую ссылку на коллекционную ассоциацию, без необходимости загружать все это и изменять ее и PUT
.
documenation говорит, что это должно поддерживаться, но у меня есть N o удача.
Любые предложения были бы наиболее ценными.
Этих классов домена определяется как:
@Entity
public class Device {
@Id
@GeneratedValue
private Long id;
private String name;
@ManyToMany(targetEntity = Group.class, cascade = CascadeType.ALL)
private Set<Group> groups;
// getters, setters
}
и,
@Entity(name="device_groups")
public class Group {
@Id @GeneratedValue
private Long id;
private String name;
@ManyToMany(mappedBy = "groups")
private Set<Device> devices;
// getters, setters
}
Каждого один заявило вместилище:
public interface DeviceRepository extends PagingAndSortingRepository<Device, Long> {
}
public interface GroupRepository extends PagingAndSortingRepository<Group, Long> {
}
Спасибо, что хорошо работает. Я также обнаружил, что могу удалить отдельную запись из коллекции, удалив (например) http: // localhost: 8080/app/group/87/devices/3. Однако в настоящее время существует одна большая оговорка, согласно которой отношения должны принадлежать Группе. Но это только JPA для вас. – OwainD
Любая идея, если это возможно сделать с помощью 'application/json' и каков будет синтаксис? –
Я знаю, что это уже давно, но большое спасибо за этот ответ, вы мне очень помогли! – pricetag