feat: navigate from root
[demos/example-siren] / provider / src / main / java / io / pactflow / example / sirenprovider / controllers / RootController.java
1 package io.pactflow.example.sirenprovider.controllers;
2
3 import io.pactflow.example.sirenprovider.models.Order;
4 import org.springframework.beans.factory.annotation.Autowired;
5 import org.springframework.hateoas.Link;
6 import org.springframework.hateoas.RepresentationModel;
7 import org.springframework.hateoas.server.EntityLinks;
8 import org.springframework.http.ResponseEntity;
9 import org.springframework.web.bind.annotation.GetMapping;
10 import org.springframework.web.bind.annotation.RestController;
11
12 @RestController
13 public class RootController {
14
15   static class Root extends RepresentationModel<Root> {}
16
17   @Autowired
18   private EntityLinks entityLinks;
19
20   @GetMapping("/")
21   public ResponseEntity<RepresentationModel<?>> orders() {
22     Link link = entityLinks.linkToCollectionResource(Order.class).withRel("orders");
23     return ResponseEntity.ok().body(new Root().add(link));
24   }
25 }