Konfiguration

Dieses Dokument behandelt die folgenden Themen:


Allgemeine Konfiguration

Die folgenden Konfigurationseinstellungen müssen vor dem Ausführen des Natural OpenAPI Server vorgenommen werden.

Definieren Sie in der Datei application.properties die folgenden Properties:

Parameter Beschreibung Standardwert
com.softwareag.natural.openapi.server.config.host.address Die IP-Adresse des Natural Subprogram Server. localhost
com.softwareag.natural.openapi.server.config.host.port Der Port für die Verbindung zum Natural Subprogram Server. 2025
natural.integration.services.files Eine Liste von JSON-Dateien, auf die der Natural OpenAPI Server zugreifen können soll (vollständige Dateinamen, durch Kommas getrennt). Beispiele: /opt/softwareag/NaturalOpenAPIServer/services/file1.json, /opt/softwareag/NaturalOpenAPIServer/services/file2.json). none
natural.integration.services.directory Der Speicherort des Ordners, der alle Dienstdefinitionsdateien enthält. ./services
com.softwareag.natural.openapi.server.config.host.ssl.enabled Legen Sie fest, ob SSL verwendet werden soll oder nicht. false
com.softwareag.natural.openapi.server.config.host.ssl.certsChain[0] Speicherort der öffentlichen Zertifikatsdateien für die Verbindung zum Natural Subprogram Server über SSL-Kommunikation. none
com.softwareag.natural.openapi.web.config.authenticationType Die Authentifizierungsmethode für die Verbindung zum Natural Subprogram Server. none
com.softwareag.natural.openapi.web.config.oAuth2Config.tokenUrl Die Token-URL des Credential-Providers, um das Bearer-Token beim Testen mit dem Swagger-UI-Web-Client abzurufen. none
com.softwareag.natural.openapi.web.config.oAuth2Config.scopes Die Bereiche, die beim Testen mit dem Swagger-UI-Web-Client vom Credential-Provider im Bearer-Token angefordert werden sollen. api.read="Read API access", api.write="Write API access", api.get="Get API access"
com.softwareag.natural.openapi.server.config.host.charset Der Zeichensatz, der bei der Kodierung der Anfragen an den Natural Subprogram Server verwendet werden soll. ISO-8859-15
management.endpoints.web.exposure.include Dieser Parameter steuert die Bereitstellung des Endpunkts des Reload-Dienstes. Ist er nicht definiert, muss diese Property mit dem Wert reloadServices hinzugefügt werden. Ist er bereits definiert, fügen Sie reloadServices an die vorhandenen, durch Kommas getrennten Werte an. none

Anmerkungen:

  1. Sie können eine Dateiliste in der Property natural.integration.services.files und einen weiteren Ordner in der Property natural.integration.services.directory definieren. Die Anwendung nutzt die Ressourcen aus beiden Speicherorten.
  2. Alle vom Natural OpenAPI Eclipse-Plug-in erstellten JSON-Dateien sollten in den Service-Ordner kopiert werden (der in der Datei application.properties durch die Property natural.integration.services.directory definiert ist oder in der Property natural.integration.services.files angegeben werden sollte).

Mapping von Natural-Fehlern als HTTP-Statuscodes

Der Natural OpenAPI Server kann Natural-Fehlercodes aus dem Backend als HTTP-Statuscodes mappen.

Die Reihenfolge der Zuordnung lautet wie folgt:

  1. Exakte Übereinstimmung (z. B. NAT3009)

  2. Übereinstimmung mit einem numerischen Bereich (z. B. 0..99)

  3. Globales Standard-Mapping

Standard-Mappings sind im Natural OpenAPI Server vordefiniert.

Sie können Mappings in der Datei application.properties mithilfe des Präfixes error-mapping.* überschreiben oder erweitern.

Beispiel: Einen Natural-spezifischen Code überschreiben

error-mapping.sources.natural.specific.NAT3009.http-code=422
error-mapping.sources.natural.specific.NAT3009.http-message=Unprocessable Entity
error-mapping.sources.natural.specific.NAT3009.category=VALIDATION_ERROR
error-mapping.sources.natural.specific.NAT3009.log-level=WARN

Beispiel: Ein Natural-Range-Mapping definieren

error-mapping.sources.natural.ranges.syntax.from=0
error-mapping.sources.natural.ranges.syntax.to=49
error-mapping.sources.natural.ranges.syntax.http-code=400
error-mapping.sources.natural.ranges.syntax.http-message=Bad Request
error-mapping.sources.natural.ranges.syntax.category=SYNTAX_ERROR
error-mapping.sources.natural.ranges.syntax.log-level=WARN

Beispiel: Globales Fallback-Mapping überschreiben

error-mapping.default-mapping.http-code=500
error-mapping.default-mapping.http-message=Internal Server Error
error-mapping.default-mapping.category=SYSTEM_ERROR
error-mapping.default-mapping.log-level=ERROR

Zusätzlich zu den Natural-Code-Mappings werden Transportfehlschläge durch den WebFlux Error Handler zugeordnet:

  • Fehlschlag der Backend-Verbindung: 502 Bad Gateway

  • Backend-Zeitüberschreitung: 504 Gateway Timeout

  • Unbekannte/nicht zugeordnete Fehler: 500 Internal Server Error