

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Die `basePath`-Eigenschaft von OpenAPI einrichten
<a name="api-gateway-import-api-basePath"></a>

In [OpenAPI 2.0](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md) können Sie mit der `basePath`-Eigenschaft einen oder mehrere Pfadbestandteile bereitstellen, die jedem in den `paths`-Eigenschaften definierten Pfad vorangestellt werden. In API Gateway gibt es mehrere Möglichkeiten, den Pfad einer Ressource auszudrücken daher bietet auch die Funktion zum Importieren von APIs drei Optionen für die Interpretation der `basePath`-Eigenschaft während eines Importvorgangs: Ignorieren, Voranstellen und Splitten.

In [https://swagger.io/docs/specification/api-host-and-base-path/](https://swagger.io/docs/specification/api-host-and-base-path/) ist `basePath` keine Top-Level-Eigenschaft mehr. Stattdessen verwendet API Gateway eine [Servervariable](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.0.md#serverVariableObject) als Konvention. Die Funktion zum Importieren von APIs bietet die gleichen Optionen für die Interpretation der Basispfades während des Imports. Der Basispfad wird wie folgt identifiziert:
+ Wenn die API keine `basePath`-Variablen aufweist, überprüft die Funktion zum Importieren von APIs, ob die `server.url`-Zeichenfolge einen Pfad außer `"/"` enthält. Wenn dies der Fall ist, wird dieser Pfad als Basispfad verwendet.
+ Wenn die API nur eine `basePath`-Variable enthält, verwendet die Funktion zum Importieren von APIs diese als Basispfad, auch wenn sie nicht in `server.url` referenziert wird.
+ Wenn die API mehrere `basePath`-Variablen enthält, verwendet die Funktion zum Importieren von APIs nur den ersten Eintrag als Basispfad.

## Ignore
<a name="api-gateway-import-api-basePath-ignore"></a>

Wenn in der OpenAPI-Datei der `basePath`-Wert `/a/b/c` lautet und die `paths`-Eigenschaft `/e` und `/f`enthält, führt die folgende `POST`- oder `PUT`-Anforderung: 

```
POST /restapis?mode=import&basepath=ignore
```



```
PUT /restapis/api_id?basepath=ignore
```

 führt dies zu den folgenden Ressourcen in der API: 
+ `/`
+ `/e`
+ `/f`

 Dadurch wird die `basePath`-Eigenschaft so behandelt, als sei sie nicht vorhanden, und alle deklarierten API-Ressourcen werden relativ zum Host bereitgestellt. Dies empfiehlt sich z. B., wenn Sie einen benutzerdefinierten Domänennamen mit einem API-Mapping ohne einen Wert für den *Basispfad* und mit einem Wert für die *Phase* (die sich auf Ihre Produktionsphase bezieht) haben. 

**Anmerkung**  
 API Gateway erstellt automatisch eine Root-Ressource für Sie, auch wenn diese nicht explizit in Ihrer Definitionsdatei deklariert ist. 

 Wenn nicht angegeben, wird `basePath` standardmäßig auf `ignore` gesetzt. 

## Voranstellen
<a name="api-gateway-import-api-basePath-prepend"></a>

 Wenn in der OpenAPI-Datei der Wert der `basePath`-Eigenschaft lautet und die `/a/b/c`-Eigenschaft `paths`und`/e` enthält, führt die folgende `/f`POST- oder `POST``PUT`PUT-Anforderung: 

```
POST /restapis?mode=import&basepath=prepend
```



```
PUT /restapis/api_id?basepath=prepend
```

 führt dies zu den folgenden Ressourcen in der API: 
+ `/`
+ `/a`
+ `/a/b`
+ `/a/b/c`
+ `/a/b/c/e`
+ `/a/b/c/f`

 Dadurch wird die Eigenschaft `basePath` so behandelt, als würde sie zusätzliche Ressourcen (ohne Methoden) angeben und diese zum deklarierten Ressourcensatz hinzufügen. Dies empfiehlt sich z. B., wenn verschiedene Teams für die verschiedene Teile einer API zuständig sind und die Eigenschaft `basePath` auf den Pfadpfadspeicherort des API-Teils der einzelnen Teams verweisen kann. 

**Anmerkung**  
 API Gateway erstellt automatisch Zwischenstufen von Ressourcen für Sie, auch wenn Sie diese nicht ausdrücklich in der Definition deklariert haben. 

## Teilen
<a name="api-gateway-import-api-basePath-split"></a>

 Wenn in der OpenAPI-Datei der Wert der `basePath`-Eigenschaft lautet und die `/a/b/c`-Eigenschaft `paths`und`/e` enthält, führt die folgende `/f`POST- oder `POST``PUT`PUT-Anforderung: 

```
POST /restapis?mode=import&basepath=split
```



```
PUT /restapis/api_id?basepath=split
```

 führt dies zu den folgenden Ressourcen in der API: 
+ `/`
+ `/b`
+ `/b/c`
+ `/b/c/e`
+ `/b/c/f`

 Dadurch wird die oberste Ebene des Pfades (`/a`) als Beginn aller Pfade der Ressource behandelt und es werden zusätzliche Ressourcen (keine Methoden) in der API an sich erstellt. Das empfiehlt sich z. B., wenn `a` ein Phasenname ist, den Sie als Teil Ihrer API bereitstellen möchten. 