From 1a53e14f6708a15736b1616423faa99e7548c07a Mon Sep 17 00:00:00 2001
From: Daniel Gerhardt <code@dgerhardt.net>
Date: Mon, 5 Mar 2018 11:51:29 +0100
Subject: [PATCH] Add support for requests with multiple entity IDs

---
 .../thm/arsnova/controller/AbstractEntityController.java  | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java b/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java
index d110b62fe..ed7c1d38c 100644
--- a/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java
+++ b/src/main/java/de/thm/arsnova/controller/AbstractEntityController.java
@@ -31,9 +31,11 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.naming.OperationNotSupportedException;
 import java.io.IOException;
+import java.util.Collection;
 import java.util.Map;
 import java.util.Set;
 
@@ -49,6 +51,7 @@ public abstract class AbstractEntityController<E extends Entity> {
 	protected static final String DEFAULT_ID_MAPPING = "/{id}";
 	protected static final String DEFAULT_FIND_MAPPING = "/find";
 	protected static final String GET_MAPPING = DEFAULT_ID_MAPPING;
+	protected static final String GET_MULTIPLE_MAPPING = DEFAULT_ROOT_MAPPING;
 	protected static final String PUT_MAPPING = DEFAULT_ID_MAPPING;
 	protected static final String POST_MAPPING = DEFAULT_ROOT_MAPPING;
 	protected static final String PATCH_MAPPING = DEFAULT_ID_MAPPING;
@@ -66,6 +69,11 @@ public abstract class AbstractEntityController<E extends Entity> {
 		return entityService.get(id);
 	}
 
+	@GetMapping(GET_MULTIPLE_MAPPING)
+	public Iterable<E> getMultiple(@RequestParam final Collection<String> ids) {
+		return entityService.get(ids);
+	}
+
 	@PutMapping(PUT_MAPPING)
 	public void put(@RequestBody final E entity) {
 		E oldEntity = entityService.get(entity.getId());
-- 
GitLab