TP Web Service
S. Salva
TP3
Springboot
|
Maven, Springboot
A
Reprenez le service du TP précédent.
Ajoutez le pattern Repository pour pouvoir manipuler des données. Il faut :
BookController(BookRepository repository) { this.repository =
repository;
B
HATEOAS (Hypermedia as the Engine of Application State), est une contrainte faisant partie intégrante de REst initialement. Cette contrainte stipule qu'un client peut communiquer avec un service REst sans avoir de connaissances préalables sur le service. Le service doit donc fournir tous les détails pour être appelé dynamiquement.
A
A
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
Les tests de services sont font à travers un client proxy appelé TestRestTemplate. Comme ce sont des tests, le code se termine par une assertion (voire 2 par test mais pas plus).
Voici un exemple :@SpringBootTest class ServApplicationTests { @Autowired private TestRestTemplate restTemplate; @Test public void exampleTest() { ArrayList
l = this.restTemplate.getForObject("/getallbooks", ArrayList.class); assertThat(l.get(0).getName()).isEqualTo("
The Seconde Machine Age"); } }
B
Si le temps vous le permet, ajoutez une petite couche de sécurité à votre service en utilisant BasicAuth. Il suffit de compléter la configuration de votre service.
Pour le client, vous devez compléter le header de la requête avec le login et mdp.