Die Beispieldomäne dieser Übung ist ein einfacher Microservice, der 4 Resourcen zur Verüfung stellt. Die Resourcen sollen einen definierten Output liefern.
Seit Version 8 unterstützt Java anonyme Delgaten in Form von Lambda Expressions. In dieser Übung soll die Verwendung der selbigen ausprobiert werden.
Damit alles nicht zu einfach ist, gelten folgende Regeln:
- Die Domänenmodelle dürfen nicht verändert werden.
- Die Repositories dürfen nicht verändert werden.
- Es sind keine Kontrollstrukturen erlaubt. Verboten sind entsprechend if, else, switch, tenerärer Ausdruck, while, for etc.
Die Vertragresource definiert die Schnittstellen. In der Klasse Apptests sind 10 Tests implementiert und mit jeweils einem Kommentar versehen, die die Spezifikation darstellen. Die Repositories Kundenrepository und Vertragsrepository liefern die Daten aus den json Files unter src/test/resource bereits als Java Klassen. Die Repositories müssen abfgefragt werden um die Daten aus den Files zu bekommen. Die ganze Übung kann unter Verzicht auf jegliche Kontrollstruktur unter Verwendung von Lambda Expressions, Streams und Optional API gelöst werden.
Die Lösung findet sich im zweiten Branch dieses Repositories.
Verwendet wird Maven und Spring Boot.