Posts

Es werden Posts vom Mai, 2021 angezeigt.

OAuth2 REST-API Clients leicht gemacht mit Spring

Bild
Viele REST-APIs sind heute mit OAuth2 abgesichert. Daher bietet uns Spring eine einfache Möglichkeit das OAuth2-Protokoll  in den bekannten HTTP-Clients WebClient und RestTemplate  zu implementieren, so dass wir uns nicht mehr selbst um Access und Refresh-Tokens kümmern müssen. Wie das geht zeige ich euch in diesem Artikel. Was ist OAuth2? OAuth steht für "Open Authorization" und ist ein offenes Standard-Protokoll zur sicheren Autorisierung von APIs. OAuth2 ist die überarbeitete Version von OAuth, welche die ursprüngliche Version häufig abgelöst hat. Mit OAuth2 können Endbenutzer einer Anwendung den Zugriff auf ihre Daten, bereitgestellt durch einen anderen Dienst, erlauben. Insbesondere im Kontext von Smartphone-Apps hat sich OAuth schnell durchgesetzt. Weiterführende Informationen zu OAuth2 findet ihr hier: https://www.ionos.de/digitalguide/server/sicherheit/was-ist-oauth/ OAuth2 API konsumieren Wie man mit Spring RestTemplate und WebClient REST-APIs aufruft, habe ich bere

Lambda-Ausdrücke und funktionale Interfaces in Java

Bild
Funktionale Programmierung ist ein sehr beliebtes Programmierparadigma, daher ist es in vielen modernen Sprachen zu finden. Seit Version 8 bietet auch Java mit Lambda-Ausdrücken und funktionalen Interfaces Möglichkeiten zur funktionalen Programmierung an. In diesem Artikel schauen wir uns das genauer an. Was ist funktionale Programmierung? In der Objektorientierten Programmierung haben Methoden bzw. Funktionen Daten als Eingabeparameter und Rückgabewerte.  Die funktionale Programmierung ermöglicht uns neben Daten zusätzlich Funktionen zu verknüpfen und sie als Eingabeparameter und Rückgabe zu definieren. Zum Beispiel können wir einem Bubblesort Sortieralgorithmus eine Funktion übergeben, mit der der Sortieralgorithmus über die Reihenfolge der zu sortierenden Daten entscheidet. Der selbe Sortieralgorithmus kann so z.B. abhängig vom übergebenen Funktions-Parameter eine Liste von Autos nach Kaufpreis absteigend oder nach Erstzulassungs-Datum aufsteigend sortieren. Weitere Infos zur funkti