Class RestClient
java.lang.Object
at.letto.service.rest.RestClient
- All Implemented Interfaces:
MicroService
- Direct Known Subclasses:
BaseRestClient, RestImageService, RestLocalSetupService, RestLoginService, RestMatheService, RestSetupService
Rest-Client für Username-Password Authentification an einem Microservice
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StringBasis URI des REST-Services zB.: https://localhost:9091/private jakarta.ws.rs.client.ClientJersey-Client welcher mit dem Benutzernamen und dem Passwort welches im Constructor angegeben ist beim Systemstart verbunden wurdeprivate booleanErzwingt vorherhehendes exteres JSON-Umwandeln mit JSON.objToJsonprivate StringPasswort des Benutzers, welcher mit dem Dienst verbunden istprivate StringBenutzername mit dem der Dienst verbunden wurde -
Constructor Summary
ConstructorsConstructorDescriptionRestClient(String baseURI) Erzeugt eine REST-Client Verbindung zu einem Microservice ohne Authentifikation zB. für die JWT-AuthentifikationRestClient(String baseURI, String user, String password) Erzeugt eine REST-Client Verbindung zu einem Microservice mit Authentifikation -
Method Summary
Modifier and TypeMethodDescriptionprivate static com.fasterxml.jackson.databind.ObjectMapperErzeugt den für generische REST-Antworten verwendeten Jackson-Mapper.<T> TStellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter<T> Tget(String endpoint, Class<T> Class, LettoToken lettoToken) Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter<T> TStellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter<T> TStellt eine REST-GET-Anfrage an einen Server<T> Tget(String endpoint, String dto, Class<T> Class, LettoToken lettoToken) Stellt eine REST-GET-Anfrage an einen Server<T> TStellt eine REST-GET-Anfrage an einen Server<T> TgetDto(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> Class, String token) static jakarta.ws.rs.client.ClientLiefert einen Jersey REST-Client ohne ssl-Funktionialität ohne Authentifikationstatic jakarta.ws.rs.client.ClientgetHttpRestClient(String user, String password) Liefert einen Jersey REST-Client ohne ssl-Funktionialitätstatic jakarta.ws.rs.client.ClientLiefert einen Jersey REST-Client mit ssl-Funktionialität ohne Authentifikationstatic jakarta.ws.rs.client.ClientgetHttpsRestClient(String user, String password) Liefert einen Jersey REST-Client mit ssl-Funktionialitätstatic jakarta.ws.rs.client.ClientgetRestClient(String uri, String user, String password) static <T> Tprivate static StringloadGetUri(String uri, Object dto) protected booleanSchickt einen POST-Ping an das Service mit dem Endpoint info/pingprotected booleanSchickt einen POST-Ping an das Service mit dem Endpoint info/ping<T> TStellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameter<T> Tpost(String endpoint, Class<T> Class, LettoToken lettoToken) Stellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameter<T> TStellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameter<T> TStellt eine REST-POST-Anfrage an einen Server<T> Tpost(String endpoint, Object dto, Class<T> Class, LettoToken lettoToken) Stellt eine REST-POST-Anfrage an einen Server<T> TStellt eine REST-POST-Anfrage an einen Server<T> TpostDto(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> Class, String token) Führt einen POST-Aufruf aus.<T> TpostDto(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> Class, String token, Map<String, String> headers) Führt einen POST-Aufruf mit zusätzlichen HTTP-Headern aus.<T> TpostDtoJson(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> type, String token) <T> TpostDtoJson(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> type, String token, Map<String, String> headers) <T> T<T> TpostMultipart(String endpoint, String filePartName, byte[] bytes, String filename, String contentType, String jsonPartName, Object jsonPart, com.fasterxml.jackson.core.type.TypeReference<T> type) Sendet einemultipart/form-data-POST-Anfrage mit einem Datei-Part und einem zusätzlichen JSON-Part.<T> TpostMultipart(String endpoint, String filePartName, byte[] bytes, String filename, String contentType, String jsonPartName, Object jsonPart, com.fasterxml.jackson.core.type.TypeReference<T> type, String token) Sendet einemultipart/form-data-POST-Anfrage mit einem Datei-Part, einem JSON-Part und optionalem Bearer-Token.private <T> Trest(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> type, boolean post, String token, boolean jsonExternal) Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameterprivate <T> Trest(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> type, boolean post, String token, boolean jsonExternal, Map<String, String> headers) Führt eine REST-Anfrage mit generischem Rückgabetyp und optionalen zusätzlichen HTTP-Headern aus.<T> TStellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameterstatic <T> TStellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameterstatic <T> TStellt eine REST-GET-Anfrage an einen Serverprivate static <T> TrestGetPost(String uri, Object dto, Class<T> Class, boolean post) Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameterstatic <T> TStellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameterstatic <T> TStellt eine REST-POST-Anfrage an einen Serverprivate voidprivate static TrustManager[]Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface MicroService
admininfo, info, ping, version
-
Field Details
-
baseURI
Basis URI des REST-Services zB.: https://localhost:9091/ -
client
private jakarta.ws.rs.client.Client clientJersey-Client welcher mit dem Benutzernamen und dem Passwort welches im Constructor angegeben ist beim Systemstart verbunden wurde -
user
Benutzername mit dem der Dienst verbunden wurde -
password
Passwort des Benutzers, welcher mit dem Dienst verbunden ist -
forceJsonExternal
private boolean forceJsonExternalErzwingt vorherhehendes exteres JSON-Umwandeln mit JSON.objToJson
-
-
Constructor Details
-
RestClient
Erzeugt eine REST-Client Verbindung zu einem Microservice mit Authentifikation- Parameters:
baseURI- Basis-URI des Microservices zb: https://localhost:9091/user- Benutzernamen mit dem die Verbindung standardmäßig aufgebaut wirdpassword- Passwort des Benutzers mit dem die Verbindung standardmäßig aufgebaut wird
-
RestClient
Erzeugt eine REST-Client Verbindung zu einem Microservice ohne Authentifikation zB. für die JWT-Authentifikation- Parameters:
baseURI- Basis-URI des Microservices zb: https://localhost:9091/
-
-
Method Details
-
setClient
private void setClient() -
getRestClient
-
ping
Schickt einen POST-Ping an das Service mit dem Endpoint info/ping- Returns:
- true wenn das Service erreichbar ist
-
ping
Schickt einen POST-Ping an das Service mit dem Endpoint info/ping- Returns:
- true wenn das Service erreichbar ist
-
getDto
-
postDto
public <T> T postDto(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> Class, String token) Führt einen POST-Aufruf aus.- Type Parameters:
T- Rückgabetyp- Parameters:
endpoint- REST-Endpunktdto- Request-DTOClass- Rückgabetyptoken- optionaler JWT/Bearer-Token- Returns:
- deserialisierte Antwort
-
postDto
public <T> T postDto(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> Class, String token, Map<String, String> headers) Führt einen POST-Aufruf mit zusätzlichen HTTP-Headern aus.Diese Überladung ist insbesondere für technische Request-Metadaten wie Transaktions-IDs vorgesehen. Bestehende Aufrufe bleiben unverändert kompatibel.
- Type Parameters:
T- Rückgabetyp- Parameters:
endpoint- REST-Endpunktdto- Request-DTOClass- Rückgabetyptoken- optionaler JWT/Bearer-Tokenheaders- zusätzliche HTTP-Header; darfnullsein- Returns:
- deserialisierte Antwort
-
postDtoJson
-
postDtoJson
-
postMultipart
public <T> T postMultipart(String endpoint, String filePartName, byte[] bytes, String filename, String contentType, String jsonPartName, Object jsonPart, com.fasterxml.jackson.core.type.TypeReference<T> type) Sendet einemultipart/form-data-POST-Anfrage mit einem Datei-Part und einem zusätzlichen JSON-Part.Die Anfrage verwendet denselben Jersey-Client wie die übrigen REST-Zugriffe und damit auch die im Konstruktor konfigurierte Basic-Authentifikation.
- Type Parameters:
T- Typ des Rückgabewertes- Parameters:
endpoint- REST-EndpunktfilePartName- Name des Datei-Parts, z.B.filebytes- Dateiinhaltfilename- ursprünglicher DateinamecontentType- MIME-Type der Datei; beinulloder ungültigem Wert wirdapplication/octet-streamverwendetjsonPartName- Name des JSON-Parts, z.B.optionsjsonPart- Objekt, das als JSON übertragen wirdtype- Rückgabetyp inklusive generischer Typinformation- Returns:
- deserialisierte REST-Antwort oder
null, wenn die Anfrage fehlschlägt
-
postMultipart
public <T> T postMultipart(String endpoint, String filePartName, byte[] bytes, String filename, String contentType, String jsonPartName, Object jsonPart, com.fasterxml.jackson.core.type.TypeReference<T> type, String token) Sendet einemultipart/form-data-POST-Anfrage mit einem Datei-Part, einem JSON-Part und optionalem Bearer-Token.- Type Parameters:
T- Typ des Rückgabewertes- Parameters:
endpoint- REST-EndpunktfilePartName- Name des Datei-Partsbytes- Dateiinhaltfilename- ursprünglicher DateinamecontentType- MIME-Type der DateijsonPartName- Name des JSON-PartsjsonPart- Objekt, das als JSON übertragen wirdtype- Rückgabetyp inklusive generischer Typinformationtoken- optionaler JWT/Bearer-Token- Returns:
- deserialisierte REST-Antwort oder
null, wenn die Anfrage fehlschlägt
-
createObjectMapper
private static com.fasterxml.jackson.databind.ObjectMapper createObjectMapper()Erzeugt den für generische REST-Antworten verwendeten Jackson-Mapper.- Returns:
- vorkonfigurierter ObjectMapper
-
get
Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
post
Stellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
postJson
-
get
Stellt eine REST-GET-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden als String welcher nach der uri und ? angehängt werdenClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
post
Stellt eine REST-POST-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden, null wenn keine DatenClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
get
Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerClass- Klasse des ErgebnisseslettoToken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
get
Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerClass- Klasse des Ergebnissestoken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
post
Stellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerClass- Klasse des ErgebnisseslettoToken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
post
Stellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerClass- Klasse des Ergebnissestoken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
get
Stellt eine REST-GET-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden als String welcher nach der uri und ? angehängt werdenClass- Klasse des ErgebnisseslettoToken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
get
Stellt eine REST-GET-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden als String welcher nach der uri und ? angehängt werdenClass- Klasse des Ergebnissestoken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
post
Stellt eine REST-POST-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden, null wenn keine DatenClass- Klasse des ErgebnisseslettoToken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
post
Stellt eine REST-POST-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden, null wenn keine DatenClass- Klasse des Ergebnissestoken- Token für die Authentifikation- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
rest
public <T> T rest(String endpoint, Object dto, Class<T> Class, boolean post, String token, boolean jsonExternal) Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden, null wenn keine DatenClass- Klasse des Ergebnissespost- true wenn POST, false bei GETtoken- JWT-Token für die AuthentifikationjsonExternal- DTO wird mit externem JSONer zu Text umgewandelt (JSON.objToJson)- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
loadGetUri
-
rest
private <T> T rest(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> type, boolean post, String token, boolean jsonExternal) Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
endpoint- Endoint am RestServerdto- Daten die als Parameter übergeben werden, null wenn keine Datentype- Klasse des Ergebnissespost- true wenn POST, false bei GETtoken- JWT-Token für die AuthentifikationjsonExternal- DTO wird mit externem JSONer zu Text umgewandelt (JSON.objToJson)- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
rest
private <T> T rest(String endpoint, Object dto, com.fasterxml.jackson.core.type.TypeReference<T> type, boolean post, String token, boolean jsonExternal, Map<String, String> headers) Führt eine REST-Anfrage mit generischem Rückgabetyp und optionalen zusätzlichen HTTP-Headern aus.- Type Parameters:
T- Rückgabetyp- Parameters:
endpoint- REST-Endpunktdto- Request-DTOtype- Rückgabetyp inklusive generischer Typinformationpost-truefür POST,falsefür GETtoken- optionaler JWT/Bearer-TokenjsonExternal- DTO wird mit externem JSONer vorab in JSON umgewandeltheaders- zusätzliche HTTP-Header; darfnullsein- Returns:
- deserialisierte REST-Antwort oder
nullim Fehlerfall
-
trustAllCerts
-
getHttpsRestClient
-
getHttpRestClient
-
getHttpsRestClient
public static jakarta.ws.rs.client.Client getHttpsRestClient()Liefert einen Jersey REST-Client mit ssl-Funktionialität ohne Authentifikation- Returns:
- REST-Client
-
getHttpRestClient
public static jakarta.ws.rs.client.Client getHttpRestClient()Liefert einen Jersey REST-Client ohne ssl-Funktionialität ohne Authentifikation- Returns:
- REST-Client
-
restGet
Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
uri- Server URIClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
restPost
Stellt eine REST-POST-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
uri- Server URIClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
restGet
Stellt eine REST-GET-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
uri- Server URIdto- Daten die als Parameter übergeben werden als String welcher nach der uri und ? angehängt werdenClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
restPost
Stellt eine REST-POST-Anfrage an einen Server- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
uri- Server URIdto- Daten die als Parameter übergeben werden, null wenn keine DatenClass- Klasse des Ergebnisses- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
restGetPost
Stellt eine REST-GET-Anfrage an einen Server ohne Anfrageparameter- Type Parameters:
T- Type der Klasse des Ergebnisses- Parameters:
uri- Server URIdto- Daten die als Parameter übergeben werden, null wenn keine DatenClass- Klasse des Ergebnissespost- true wenn POST, false bei GET- Returns:
- Ergebnis der REST-Anfrage als Objekt. Im Fehlerfall null.
-
jsonTest
-