Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2020
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. package uk.ac.man.cs.eventlite.controllers;
  2.  
  3. import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
  4. import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;
  5.  
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.hateoas.Link;
  11. import org.springframework.hateoas.MediaTypes;
  12. import org.springframework.hateoas.Resource;
  13. import org.springframework.hateoas.Resources;
  14. import org.springframework.http.MediaType;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestMethod;
  17. import org.springframework.web.bind.annotation.RestController;
  18.  
  19. import uk.ac.man.cs.eventlite.dao.EventService;
  20. import uk.ac.man.cs.eventlite.entities.Event;
  21.  
  22. @RestController
  23. @RequestMapping(value = "/api/events", produces = { MediaType.APPLICATION_JSON_VALUE, MediaTypes.HAL_JSON_VALUE })
  24. public class EventsControllerApi {
  25.  
  26. @Autowired
  27. private EventService eventService;
  28.  
  29. @RequestMapping(method = RequestMethod.GET)
  30. public Resources<Resource<Event>> getAllEvents() {
  31.  
  32. return eventToResource(eventService.findAll());
  33. }
  34.  
  35. private Resource<Event> eventToResource(Event event) {
  36. Link selfLink = linkTo(EventsControllerApi.class).slash(event.getId()).withSelfRel();
  37.  
  38. return new Resource<Event>(event, selfLink);
  39. }
  40.  
  41. private Resources<Resource<Event>> eventToResource(Iterable<Event> events) {
  42. Link selfLink = linkTo(methodOn(EventsControllerApi.class).getAllEvents()).withSelfRel();
  43.  
  44. List<Resource<Event>> resources = new ArrayList<Resource<Event>>();
  45. for (Event event : events) {
  46. resources.add(eventToResource(event));
  47. }
  48.  
  49. return new Resources<Resource<Event>>(resources, selfLink);
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement