Liste mit Elementen mit Android / Robospice und Spring Boot mit HATEOAS

Mit Hilfe von Spring Boot und Robospice ist es möglich schnell und einfach eine REST API und einen Consumer für Listen zu erstellen. Dabei ermöglicht Spring Boot eine einfache CRUD API zu erstellen. Mi Hilfe der Annotation @RepositoryRestResource und der Klasse PagingAndSortingRepository werden automatisch alle CRUD Funktionen inklusiv der Methode “findByName” für die Entity Task erstellt.

Dafür werden die folgenden Spring Boot Dependencies benötigt:

 

Um einen Task per REST zu erstellen verwendet wird die URL http://localhost:8080/tasks und als Content

mit POST verwendet. Dabei ist wichtig das “path” der Url entspricht unter der die CRUD Funktionen zur Verfügung gestellt werden.

Das Ergebnis unter http://localhost:8080/tasks:

Und die dazu gehörende Task Klasse:

Möchte man nun die Liste von Task mit Robospice auslesen, muss man beachten das Spring Boot an dieser Stelle HATEOAS verwendet. Das bedeutet man muss in der Android App folgende Klasse erstellen oder die Task Klasse von oben wiederverwenden:

Um das ganze mit Robospice in Android und mit HATEOAS auslesen zu können braucht man in der Android App folgende Dependency :

groupId: org.springframework.hateoas
artefactId: spring-hateoas

Damit kann man dann mittels

sich die Elemente inklusive aller Links per REST holen.

Mit taskEntity.getBody().getContent() bekommt man dann eine Liste der Tasks und mit taskEntity.getBody().getLinks() eine Liste der Links.

Die gesamte GetTasksRequest Klasse sieht dann wie folgt aus:

und die folgende RestUtil Klasse

 

Das ganze kann dann im Listener verwendet werden:

Tobi

Author: Tobi

I am an software developer and project manager and have interest for the topics wordress, spring, java, agile, lean, kanban, scrum, javascript, motivation and good software development.

Leave a Reply

Your email address will not be published. Required fields are marked *