IBM -Erweiterungen zur Spezifikation OpenAPI
Sie verwenden das Objekt x-ibm-configuration in Ihrer OpenAPI -Definitionsdatei, um Erweiterungen hinzuzufügen, die für IBM®
API Connectspezifisch sind.
Die Erweiterung "x-ibm-configuration" weist die folgende Struktur auf:
x-ibm-configuration:
enforced: enforced_boolean
forceHttp500ForSoap11: forceHttp500ForSoap11_boolean
compile-json-schemas: compile_json_schemas_boolean
enforce-form-data-parameter: enforce_form_data_parameter_boolean
phase: Phase
testable: test_boolean
cors:
enabled: cors_boolean
buffering: buffering_boolean
activity-log:
activity_logging_extension
assembly:
execute:
- assembly_component
gateway: gateway_type
type: api_type
properties:
properties_extension
catalogs:
catalogs_extension
In der folgenden Tabelle sind die verschiedenen von API Connectverwendeten Erweiterungen aufgelistet, unabhängig davon, ob sie erforderlich sind, sowie eine Beschreibung ihrer Verwendung und ihres Verhaltens und ihres Typs.
| Erweiterung | Erforderlich | Beschreibung | Typ |
|---|---|---|---|
| phase | Nein | Verwenden Sie die Erweiterung "phase", um den Reifegrad der API zu beschreiben. Diese kann die folgenden Werte annehmen:
|
Zeichenfolge |
| testable | Nein | Verwenden Sie die testable Erweiterung, um festzulegen, ob die API mit dem Testtool im Consumer Catalog getestet werden kann. |
boolesch |
| enforced | Nein | Verwenden Sie die Erweiterung enforced , um anzugeben, ob das API Connect -Gateway verwendet wird, um die API zu erzwingen.
|
boolesch |
| cors | Nein | Verwenden Sie die Erweiterung cors, um anzugeben, ob CORS-Zugriffssteuerung für die API verwendet wird. Die Erweiterung verfügt über eine Feld enabled, das ein boolescher Wert ist. |
Objekt (mit einem einzelnen Feld für einen booleschen Wert) |
| Nein | Verwenden Sie die Erweiterung activity-log, um Ihre Protokollierungsvorgaben für die in Analytics gespeicherte API-Aktivität zu konfigurieren. Die Vorgaben, die Sie angeben, setzen die Standardeinstellungen zum Erfassen und Speichern von Details der API-Aktivität außer Kraft. |
Objekt | |
| assembly | Nein | Verwenden Sie die Erweiterung assembly, um die Anwendung von Richtlinien und Logik auf eine API zu beschreiben. Sie enthält ein Feld execute, das ein Array von Richtlinien enthält, die der Reihe nach angewendet werden. Sie kann ein catch-Feld umfassen, das ein Array von abzufangenden Fehlersituationen enthält.Informationen zur Verwendung des Felds Informationen zur Verwendung des Feldes |
Objekt |
| gateway | Nein | Verwenden Sie die Erweiterung gateway, um anzugeben, welchen Typ von Gateway Sie verwenden möchten. Wenn Sie die DataPower® Gateway (v5 compatible) oder DataPower API Gatewayverwenden, muss sie eingeschlossen werden und einen der folgenden Werte annehmen:
Informationen zu den verschiedenen Arten von Gateways finden Sie unter API Connect Gateway-Typen. |
Zeichenfolge |
| type | Nein | Die Erweiterung type weist einen der folgenden Werte auf:
|
|
| properties | Nein | Verwenden Sie die Erweiterung properties, um Eigenschaften für die Verwendung in einer API zu
definieren. |
Objekt ( Eigenschaften ) |
| catalogs | Nein | Verwenden Sie die Erweiterung catalogs, um katalogspezifische Werte für in der Erweiterung
properties definierte Eigenschaften zu definieren. |
Objekt ( Kataloge ) |
| Nein | Verwenden Sie die Erweiterung forceHttp500ForSoap11 , um einen Antwortcode 500 zu erzwingen, wenn bei einer SOAP-API 1.1 ein Fehler auftritt. Diese Eigenschaft funktioniert nur mit DataPower Fixpacks, die APAR IT46043 enthalten. |
boolesch | |
| compile-json-schemas | Nein | Verwenden Sie diese Erweiterung, um die Vorkompilierung von JSON-Schemas während der Konfigurationsbereitstellung zu aktivieren. Wenn dieser Wert auf „true“ gesetzt ist, werden JSON-Schemas bei der Anwendung der neuen Konfiguration kompiliert und zwischengespeichert, sodass die Kompilierung bereits abgeschlossen und verfügbar ist, wenn die erste Nachricht verarbeitet wird. | boolesch |
| buffering | Nein | Mit dieser Erweiterung können Sie festlegen, ob API-Anfragen und -Antworten vor der Verarbeitung zwischengespeichert werden sollen. Er aktiviert den Befehl message-buffering „ DataPower “
|
boolesch |
| enforce-form-data-parameter | Nein | Dieser Befehl gibt an, ob der Parameter „formdata“ während des API-Routings aufgelöst und mit Daten gefüllt werden soll.
|
boolesch |
Das folgende Beispiel zeigt den x-ibm-extension Abschnitt einer API, der durch API Connect[Name] erzwungen wird, sich im realisierten Zustand befindet, über das Testtool im Consumer Catalog getestet werden kann, über die Zugriffskontrolle „ CORS “ verfügt und eine einfache Assembly enthält, die eine „ URL “ aufruft und anschließend ein Feld aus der Anfrage oder Antwort schwärzt.
x-ibm-configuration:
enforced: true
phase: realized
testable: true
cors:
enabled: true
assembly:
execute:
- invoke:
title: Example Invoke
target-url: 'https://example.com/api'
description: Example description
- redact:
actions:
- action: redact
from:
- request
- response
path: //*[@name='secondaryAddress']/*[@name='streetAddress']
properties:
ID:
value: 1234
description: An ID to be used for validating.
encoded: false
catalogs:
Sandbox:
properties:
ID: 5678