Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.epam.bazaar.backend.api.endpoints;
- import com.epam.bazaar.backend.api.models.Advertisement;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.hateoas.EntityLinks;
- import org.springframework.hateoas.ExposesResourceFor;
- import org.springframework.hateoas.Resources;
- import org.springframework.http.HttpEntity;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.MediaType;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import java.util.Arrays;
- import java.util.List;
- import static com.google.common.base.Preconditions.checkNotNull;
- @Controller
- @RequestMapping(
- path = "/advertisements",
- consumes = MediaType.APPLICATION_JSON_UTF8_VALUE,
- produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
- @ExposesResourceFor(Advertisement.class)
- public class AdvertisementEndpoint {
- private final EntityLinks entityLinks;
- @Autowired
- public AdvertisementEndpoint(EntityLinks entityLinks) {
- this.entityLinks = checkNotNull(entityLinks);
- }
- @GetMapping
- public HttpEntity<Resources<Advertisement>> list() {
- List<Advertisement> advertisements = Arrays.asList(
- new Advertisement("id-111", "Advertisement 1"),
- new Advertisement("id-222", "Advertisement 2"),
- new Advertisement("id-333", "Advertisement 3")
- );
- Resources<Advertisement> resources = new Resources<>(advertisements);
- resources.add(entityLinks.linkToCollectionResource(Advertisement.class));
- return new ResponseEntity<>(resources, HttpStatus.OK);
- }
- }
Add Comment
Please, Sign In to add comment