eAkte Schnittstelle V1
API-Spezifikation (gemäß OpenAPI-Standard)
- aktuelle Version: siehe Information in Kopfzeilen der API-Spezifikation (im Source-Code oder in Swagger-UI)
- Source Code der Spec: v1/eakte-api-v1
- Einstiegspunkt ist die Datei: eakte-api--main.yaml
- Swagger-UI zur interaktiven Erkundung: SwaggerUI
REST-EAI-Adapter
Quelltext und lauffähiges Image des eAkte-EAI-Adapters:
- Source Code: v1/eakte-eai
- Container Image: ghcr.io/it-at-m/eakte-schnittstelle/v1/eakte-eai
eAkte-Schnittstellen-Aufruf mit Spring Boot Client
Beantragen eines technischen Nutzers (internal)
Für die Verwendung der V1 API wird ein technischer User benötigt, der über das ServiceNow Formular eAkte-EAI Zugang beantragt werden kann.
Für die Nutzung des bereitgestellten Spring-Boot-Starter-Artefakts muss lediglich eine Abhängigkeit in die Projekt-POM eingetragen werden.
Die gewünschte Version kann über Maven-Central ermittelt werden und die Dependency-Sektion von dort kopiert werden:
https://central.sonatype.com/search?q=eakte-api-v1-spring-starter
<dependencies>
<dependency>
<groupId>de.muenchen.oss.eakte</groupId>
<artifactId>eakte-api-v1-spring-starter</artifactId>
<version>1.2.8</version>
</dependency>
</dependencies>Spätere automatische Upgrades auf verfügbare neuere Versionen können, wenn gewünscht, durch Aktivierung des Renovate-Bots bewerkstelligt werden (s. https://refarch.oss.muenchen.de/templates/develop.html#lifecycle-management-lcm).
Konfiguration der Verbindungsparameter
In die application.yaml der Applikation müssen die Parameter für die Verbindung zum eAkte-EAI-Adapter aufgenommen werden:
eakte:
base-url: https://eakte-eai-adapter.your-domain.de
username: eai-user
password: eai-password
connection-timeout: 30s # default
response-timeout: 120s # defaultAusführung von Schnittstellen-Aufrufen im Java-Code
In der Spring-Boot-basierten Applikation können nun durch Verwendung der Klassen aus dem Spring-Boot-Starter-Modul eakte-api-v1-spring-starter (bzw. dem eigentlichen Schnittstellen-Modul eakte-api-v1-spring-client) die Aufrufe an die eAkte getätigt werden.
Im Wesentlichen wird dabei die für den betreffenden Endpunkt bzw. die Schriftgutklasse benötigte Api-Klasse injiziert und damit die gewünschte eAkte-Operation aufgerufen.
Beispiel:
package com.acme.eakte.exampleapp;
import de.muenchen.oss.eakte.v1.generated.api.ContentObjectsApi;
import de.muenchen.oss.eakte.v1.generated.model.CreateContentObjectAnfrageDTO;
import de.muenchen.oss.eakte.v1.generated.model.CreateContentObjectAntwortDTO;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.stereotype.Service;
import java.nio.charset.StandardCharsets;
import java.util.List;
@Service
public class EAkteCallExample {
private final ContentObjectsApi contentObjectsApi;
public EAkteCallExample(ContentObjectsApi contentObjectsApi) {
this.contentObjectsApi = contentObjectsApi;
}
public String createSampleContentObjectInEAkte() {
final CreateContentObjectAntwortDTO response = contentObjectsApi.createContentObject(
"user-login",
new CreateContentObjectAnfrageDTO().referrednumber("COO.1.2301.1.1042432"),
"test-application",
"COO.1.2301.1.ou",
"Official",
List.of(new ByteArrayResource("file-content".getBytes(StandardCharsets.UTF_8)) {
@Override
public String getFilename() {
return "test.txt";
}
}));
return response.getObjid();
}
}