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