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.
Importer un API fichier ouvert pour mettre à jour une API définition existante
Vous pouvez importer des API définitions uniquement pour mettre à jour un élément existantAPI, sans modifier la configuration de son point de terminaison, ni les étapes et les variables d'étape, ni les références aux API clés.
L' import-to-update opération peut se produire selon deux modes : fusion ou remplacement.
Lorsqu'un API (A
) est fusionné avec un autre (B
), le résultat API conserve les définitions des deux A
et B
si les deux APIs ne partagent aucune définition contradictoire. En cas de conflit, les définitions de méthode de la fusion API (A
) remplacent les définitions de méthode correspondantes de la fusion API ()B
. Par exemple, supposons que B
déclare les méthodes suivantes pour renvoyer les réponses 200
et 206
:
GET /a POST /a
et A
déclare la méthode suivante pour renvoyer les réponses 200
et 400
:
GET /a
Lorsqu'il A
est fusionné dansB
, le API résultat produit les méthodes suivantes :
GET /a
qui retourne les réponses 200
et 400
, et
POST /a
qui retourne les réponses 200
et 206
.
La fusion d'une API est utile lorsque vous avez décomposé vos API définitions externes en plusieurs parties plus petites et que vous souhaitez appliquer les modifications à partir d'une seule de ces parties à la fois. Par exemple, cela peut se produire si plusieurs équipes sont responsables de différentes parties d'un projet API et si les modifications sont disponibles à des rythmes différents. Dans ce mode, les éléments de l'existant API qui ne sont pas spécifiquement définis dans la définition importée sont laissés de côté.
Lorsqu'un API (A
) en remplace un autre API (B
), le résultat API prend les définitions du remplacement API (A
). APIIl est utile de remplacer un lorsqu'une API définition externe contient la définition complète d'unAPI. Dans ce mode, les éléments d'un élément existant API qui ne sont pas spécifiquement définis dans la définition importée sont supprimés.
Pour fusionner unAPI, envoyez une PUT
demande àhttps://apigateway.
. La valeur du paramètre de <region>
.amazonaws.com/restapis/<restapi_id>
?mode=mergerestapi_id
chemin indique API la valeur avec laquelle la API définition fournie sera fusionnée.
L'extrait de code suivant montre un exemple de PUT
demande de fusion d'une OpenAPI API définitionJSON, en tant que charge utile, avec celle API déjà spécifiée dans Gateway. API
PUT /restapis/
<restapi_id>
?mode=merge Host:apigateway.<region>
.amazonaws.com Content-Type: application/json Content-Length: ...An OpenAPI API definition in JSON
L'opération de mise à jour par fusion prend deux API définitions complètes et les fusionne. Pour une petite modification incrémentielle, vous pouvez utiliser l'opération de mise à jour des ressources.
Pour remplacer unAPI, envoyez une PUT
demande àhttps://apigateway.
. Le paramètre <region>
.amazonaws.com/restapis/<restapi_id>
?mode=overwriterestapi_id
path indique API ce qui sera remplacé par les API définitions fournies.
L'extrait de code suivant montre un exemple de demande de remplacement avec la charge utile d'une définition formatée : JSON OpenAPI
PUT /restapis/
<restapi_id>
?mode=overwrite Host:apigateway.<region>
.amazonaws.com Content-Type: application/json Content-Length: ...An OpenAPI API definition in JSON
Lorsque le paramètre mode
de la requête n'est pas spécifié, le mode de fusion est sélectionné par défaut.
Note
Les opérations PUT
sont idempotentes, mais pas atomiques. Cela signifie que si une erreur système survient en cours de traitement, elle API peut se retrouver dans un mauvais état. Cependant, la répétition réussie de l'opération place le API dans le même état final que si la première opération avait réussi.