Frontend Validierung mit Spring Boot (Teil 2)

Wenn die Wertebereiche der Eingaben im Frontend geprüft werden ist es gut, wenn die Wertebereiche von Frontend und Backend übereinstimmen ist es schön. Elegant wird es, wenn Frontend und Backend ihre Wertebereiche aus der gleichen Quelle erhalten.

Front End Validierung mit Spring Boot

Leider zeigt sich hier ein kleines Manko dieses Ansatzes. Die Entitäten für Spring Data müssen annotiert werden, die DTO müssen annotiert werden und das Javascript Framework muss auch die Wertebereiche der Eingabe kennen. Drei verschiedene Konfigurationen konsistent zu halten ist arbeitsintensiv und fehleranfällig.

Mit Jackson an der Antwort sparen

Eine REST API mit Spring Boot ist schnell einsatzbereit, aber im Einsatz produziert die Schnittstelle häufig eine Menge unnötiger Daten, die vom Server zurückgeliefert werden.

REST heißt HATEOAS

Häufig existieren REST Schnittstellen, die Resourcen im Json Formate zurückliefern, die keinerlei Verknüpfung zu anderen Resourcen besitzen. Schlimmer noch, sie offenbaren interne Werte, damit der Client die Möglichkeit hat, andere Resourcen zu adressieren oder zu manipulieren. Häufig ist es dies der Schlüssel der Resourcen in der Datenbank.

Eigene PermissionEvaluator mit Spring Security

Spring Security bietet eine Fülle von Möglichkeiten, die Rechtekontrolle für REST Endpoints zu realisieren. Besonders interessant ist die Verwendung der Annotationen @PreAuthorize und @PostAuthorize.

API Dokumentation mit spring-boot-docs

Documentation is a love letter that you write to your future self. Damian Conway Es gibt die verschiedensten Arten die eigene Rest API zu dokumentieren, Tools wie Swagger können da helfen oder man schreibt selbst Markdown oder Asciidoc Dokumente. Wenn die Swagger Beschreibung nicht zur Generierung der API genutzt wird, dann kann man nie sicher … Read more

Catch 304 – Der faule Trick

Beim Experimentieren mit der Spring Boot Rest-Schnittstelle fiel mir wieder einmal auf, dass ich beruflich nur wenige Rest-Services kennengelernt habe, die den HTTP Status Code 304 verwenden. Bei den Projekten, an denen ich teilgenommen habe, gab es tatsächlich nur eine einzige Rest-Schnittstelle, die von diesem Feature gebraucht machte. Der HTTP Status Code 303 NOT Modified … Read more

Neues Material

Womit erstell ein Java Entwickler seine Webseiten? So traurig es im ersten Augenblick klingen mag, er verwendet Javascript. Denn egal welche Technologie verwendet werden soll, damit die Website dem Benutzer gefällt, wird der  Einsatz von Javascript benötigt. Warum also nicht gleich aus der Not eine Tugend machen und die Javascript Bibliothek React verwenden. Die Bibliothek  … Read more

REST in Peace

Im vorläufig letzten Beitrag zum Thema Stammbäume geht es diesmal um die Generierung der grafischen Stammbäume mit Hilfe der REST-Schnittstelle, ein paar kleinen Verbesserungen unserer Sourcen und den Einsatz von HATEOAS in unserer Beispielanwendung. Bevor wir uns dem Thema HATEOAS zuwenden und damit der verbesserten Verlinkung unserer Resourcen mit Spring Boot Mitteln, bereinigen wir erst … Read more