

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Définition de la propriété `basePath` OpenAPI
<a name="api-gateway-import-api-basePath"></a>

Dans [OpenAPI 2.0](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md), vous pouvez utiliser la propriété `basePath` pour fournir une ou plusieurs parties de chemin précédant chaque chemin défini dans la propriété `paths`. API Gateway peut exprimer le chemin d’une ressource de plusieurs façons. Par conséquent, la fonction d’importation d’API propose les options ci-après pour interpréter la propriété `basePath` au cours d’une importation : ignorer, préfixer et fractionner.

Dans [https://swagger.io/docs/specification/api-host-and-base-path/](https://swagger.io/docs/specification/api-host-and-base-path/), `basePath` n’est plus une propriété de niveau supérieur. Au lieu de cela, API Gateway utilise une [variable serveur](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.0.md#serverVariableObject) en tant que convention. La fonction d’importation d’une API fournit les mêmes options pour interpréter le chemin de base lors de l’importation. Le chemin de base est identifié comme suit :
+ Si l’API ne contient pas de variables `basePath`, la fonction d’importation d’API vérifie la chaîne `server.url` pour voir si elle contient un chemin au-delà de `"/"`. Si c’est le cas, ce chemin est utilisé comme chemin de base.
+ Si l’API contient une seule variable `basePath`, la fonction d’importation d’API l’utilise comme chemin de base, même si elle n’est pas référencée dans la chaîne `server.url`.
+ Si l’API contient plusieurs variables `basePath`, la fonction d’importation d’API utilise uniquement la première comme chemin de base.

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

Si le fichier OpenAPI comporte une valeur `basePath` `/a/b/c` et si la propriété `paths` contient `/e` et `/f`, la demande `POST` ou `PUT` suivante : 

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



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

 génère les ressources suivantes dans l'API : 
+ `/`
+ `/e`
+ `/f`

 Cela revient à traiter la propriété `basePath` comme si elle n’était pas présente, et toutes les ressources API déclarées sont traitées par rapport à l’hôte. Vous pouvez utiliser cette option, par exemple, lorsque vous avez un nom de domaine personnalisé avec un mappage d’API qui n’inclut pas de propriété *Base Path* et de valeur *Stage* faisant référence à votre étape de production. 

**Note**  
 API Gateway crée automatiquement une ressource racine, même si elle n’est pas explicitement déclarée dans votre fichier de définition. 

 Lorsqu’elle n’est pas spécifiée, la propriété `basePath` prend la valeur `ignore` par défaut. 

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

 Si le fichier OpenAPI comporte une valeur `basePath` `/a/b/c` et si la propriété `paths` contient `/e` et `/f`, la demande `POST` ou `PUT` suivante : 

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



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

 génère les ressources suivantes dans l'API : 
+ `/`
+ `/a`
+ `/a/b`
+ `/a/b/c`
+ `/a/b/c/e`
+ `/a/b/c/f`

 Cela revient à traiter la propriété `basePath` comme des ressources supplémentaires de spécification (sans méthode) et à ajouter celles-ci à l’ensemble de ressources déclarées. Vous pouvez utiliser cette option, par exemple, lorsque différentes équipes sont responsables des différentes parties d’une API et que la propriété `basePath` peut faire référence à l’emplacement du chemin de la partie d’API de chaque équipe. 

**Note**  
 API Gateway crée automatiquement les ressources intermédiaires, même si elles ne sont pas explicitement déclarées dans votre définition. 

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

 Si le fichier OpenAPI comporte une valeur `basePath` `/a/b/c` et si la propriété `paths` contient `/e` et `/f`, la demande `POST` ou `PUT` suivante : 

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



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

 génère les ressources suivantes dans l'API : 
+ `/`
+ `/b`
+ `/b/c`
+ `/b/c/e`
+ `/b/c/f`

 Cela revient à traiter la partie supérieure du chemin, `/a`, comme le début du chemin de chaque ressource et à créer des ressources supplémentaires (sans méthode) au sein de l’API proprement dite. Vous pouvez utiliser cette option, par exemple, lorsque `a` est un nom d’étape que vous souhaitez exposer dans votre API. 