| Auszug | ||
|---|---|---|
| ||
Nuclos REST-APIs: OpenAPI Generator, Java-Client, src-conf-rest, jersey2, Regeln, 4.2023.29, Adapter. |
Sprache: Deutsch · English
Externe REST-Services anbinden – Java-Client aus OpenAPI-Spezifikation generieren und in Regeln nutzen.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | ||||
|---|---|---|---|---|
| ||||
Auf dieser Seite
|
...
|
Nuclos
...
kann aus einer OpenAPI-Spezifikation
...
mit dem OpenAPI Generator
...
einen Java-Client
...
erzeugen, um externe REST-Services
...
anzubinden. Dieser Client
...
ist in
...
Regeln verwendbar (ab Nuclos 4.2023.29
...
).
...
Die Servicespezifikation unter Administration
...
→ REST APIs
...
registrieren. Nuclos generiert daraufhin Klassen unter <NUCLOS-HOME>/data/codegenerator/src-conf-rest/
...
, die in Regeln
...
nutzbar sind.
| Feld | Bedeutung |
|---|
...
| Name |
...
| eindeutig; |
...
| dient u. |
...
| a. als Name |
...
| der Adapter-Klasse |
...
(z.B. example.rest.NuclosRESTAdapter |
...
| ). |
| Haupt-Package |
...
Package des invoker (Default <nuclet>.invoker). |
| API-Package |
...
Package des api (Default <nuclet>.api). |
| Modell-Package |
...
Package der models (Default <nuclet>.models). |
| HTTP-Client- |
...
| Bibliothek | Default jersey2. |
| Date-Bibliothek | Default java8. |
...
| BigDecimal als String |
...
| vermeidet Genauigkeitsverluste. | |
| Serializable |
...
| Models implementieren |
...
Serializable |
...
| . | |
| Datei | OpenAPI-Spezifikation als JSON oder YAML |
...
| . |
...
| Info | ||
|---|---|---|
| ||
Weitere Optionen des Generators: openapi-generator.tech. |
Bei der Verwendung einer anderen HTTP-Client-Bibliothek oder Date-Bibliothek als den Standard, werden u.U. weitere Bibliotheken benötigt, die als serverseitige Extension zur Verfügung gestellt werden müssen.
Die Erzeugung der Client-Klassen erfolgt ohne Abhängigkeit zu einem Endpunkt. Daher muss vor dem Aufruf der API-Methoden ein ApiClient für den anzusprechenden Endpunkt erzeugt werden. Zur Vereinfachung bietet Nuclos hier eine Adapter-Klasse (bspw. example.rest.NuclosRESTAdapter ) an, die mit dem Endpunkt initialisiert werden kann.
Der Aufruf der API-Methoden erfolgt über die Api-Klassen (s. API-Package). Diese können auch über die Adapter-Klasse bezogen werden, bspw. durch den Aufruf von adapter.getNucloSystemApi().
Nachfolgend findet sich eine Beispiel-Implementation zum Aufruf mehrerer API-Methoden (GET und POST ) mit vorherigem Login und Authentifizierung über ein Session-Cookie.
| language | java |
|---|---|
| theme | Eclipse |
| linenumbers | true |