PDF-Service-Aufrufe auf versionierte API umgestellt (/api/v1)
Die API-Version steckt in der Basis-URL (PDF_SERVICE_URL, Standard http://localhost:8084/api/v1); der Client ruft relativ dazu /invoices/sign auf. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+3
-2
@@ -7,5 +7,6 @@ MONGODB_URI=mongodb://BENUTZER:PASSWORT@localhost:27017/pdf-tool?authSource=admi
|
|||||||
# HTTP-Port der Anwendung (Standard: 8083)
|
# HTTP-Port der Anwendung (Standard: 8083)
|
||||||
SERVER_PORT=8083
|
SERVER_PORT=8083
|
||||||
|
|
||||||
# Basis-URL des PDF Service (ZUGFeRD-Umwandlung, Standard: http://localhost:8084)
|
# Basis-URL der PDF-Service-API (ZUGFeRD-Umwandlung); die Endpoints
|
||||||
PDF_SERVICE_URL=http://localhost:8084
|
# /invoices/sign und /invoices/validate liegen unterhalb dieser URL.
|
||||||
|
PDF_SERVICE_URL=http://localhost:8084/api/v1
|
||||||
|
|||||||
@@ -41,8 +41,9 @@ java -jar target/pdf-tool-1.0.0-SNAPSHOT.jar
|
|||||||
Die ZUGFeRD-Umwandlung (PDF/A-3 + EN16931-XML, Mustangproject) übernimmt das
|
Die ZUGFeRD-Umwandlung (PDF/A-3 + EN16931-XML, Mustangproject) übernimmt das
|
||||||
eigenständige Projekt **PDF Service** (`../PDF Service`, Port 8084). Dieses Tool
|
eigenständige Projekt **PDF Service** (`../PDF Service`, Port 8084). Dieses Tool
|
||||||
rendert die Rechnung aus dem Template und ruft dann dessen REST-API
|
rendert die Rechnung aus dem Template und ruft dann dessen REST-API
|
||||||
(`POST /api/invoices/sign`) auf — der Service muss dafür laufen. Die Basis-URL
|
(`POST /api/v1/invoices/sign`) auf — der Service muss dafür laufen. Die Basis-URL
|
||||||
ist über `PDF_SERVICE_URL` konfigurierbar (Standard `http://localhost:8084`).
|
der API ist über `PDF_SERVICE_URL` konfigurierbar (Standard
|
||||||
|
`http://localhost:8084/api/v1`).
|
||||||
|
|
||||||
## Architektur
|
## Architektur
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* Client für die REST-API des PDF Service (eigenständiges Projekt), der aus
|
* Client für die REST-API des PDF Service (eigenständiges Projekt), der aus
|
||||||
* einem Rechnungs-PDF und den Metadaten die ZUGFeRD-E-Rechnung als ZIP erzeugt
|
* einem Rechnungs-PDF und den Metadaten die ZUGFeRD-E-Rechnung als ZIP erzeugt
|
||||||
* ({@code POST /api/invoices/sign}).
|
* ({@code POST {pdfservice.url}/invoices/sign}, Standard-Basis
|
||||||
|
* {@code http://localhost:8084/api/v1}).
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class PdfServiceClient {
|
public class PdfServiceClient {
|
||||||
@@ -41,7 +42,7 @@ public class PdfServiceClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PdfServiceClient(ObjectMapper objectMapper,
|
public PdfServiceClient(ObjectMapper objectMapper,
|
||||||
@Value("${pdfservice.url:http://localhost:8084}") String baseUrl) {
|
@Value("${pdfservice.url:http://localhost:8084/api/v1}") String baseUrl) {
|
||||||
this.objectMapper = objectMapper;
|
this.objectMapper = objectMapper;
|
||||||
this.baseUrl = baseUrl;
|
this.baseUrl = baseUrl;
|
||||||
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
|
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
|
||||||
@@ -85,7 +86,7 @@ public class PdfServiceClient {
|
|||||||
ResponseEntity<byte[]> response;
|
ResponseEntity<byte[]> response;
|
||||||
try {
|
try {
|
||||||
response = restClient.post()
|
response = restClient.post()
|
||||||
.uri("/api/invoices/sign")
|
.uri("/invoices/sign")
|
||||||
.contentType(MediaType.MULTIPART_FORM_DATA)
|
.contentType(MediaType.MULTIPART_FORM_DATA)
|
||||||
.body(parts)
|
.body(parts)
|
||||||
.retrieve()
|
.retrieve()
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ server.servlet.session.cookie.name=PDFTOOL_SESSION
|
|||||||
pdftool.version=@project.version@
|
pdftool.version=@project.version@
|
||||||
|
|
||||||
# PDF Service: erzeugt aus dem gerenderten Rechnungs-PDF die ZUGFeRD-E-Rechnung
|
# PDF Service: erzeugt aus dem gerenderten Rechnungs-PDF die ZUGFeRD-E-Rechnung
|
||||||
# (eigenständiges Projekt "PDF Service", POST /api/invoices/sign)
|
# (eigenständiges Projekt "PDF Service", POST {pdfservice.url}/invoices/sign)
|
||||||
pdfservice.url=${PDF_SERVICE_URL:http://localhost:8084}
|
pdfservice.url=${PDF_SERVICE_URL:http://localhost:8084/api/v1}
|
||||||
|
|
||||||
# Auch normale (Nicht-Multipart-)Requests bis 30 MB zulassen: Canvas-Daten mit
|
# Auch normale (Nicht-Multipart-)Requests bis 30 MB zulassen: Canvas-Daten mit
|
||||||
# eingebetteten Bild-Elementen können das Tomcat-Standardlimit von 2 MB
|
# eingebetteten Bild-Elementen können das Tomcat-Standardlimit von 2 MB
|
||||||
|
|||||||
Reference in New Issue
Block a user