# Режим совместимости шлюза API

API Contracts предлагает режим совместимости со шлюзом API, который поможет вам импортировать свое определение в AWS API Gateway и Azure API Management.

При экспорте вашего API в режиме совместимости со шлюзом API Contracts может изменить ваше определение, чтобы его можно было успешно импортировать в выбранный шлюз.

В некоторых случаях изменения не вносятся, но отображается сообщение, уведомляющее о проблеме совместимости, с которой вы можете столкнуться при использовании экспортированного определения.

## Экспорт определения OAS 3.0 для AWS API Gateway

В следующей таблице описано, как API Contracts обрабатывает возможности, не поддерживаемые AWS API Gateway, при экспорте определения и что происходит в AWS API Gateway при импорте определения.

| Неподдерживаемая функциональность, характеристики OpenAPI | Контракты API<br>поведение при экспорте | Поведение AWS API Gateway при импорте |
| --- | --- | --- |
| Атрибут example не<br>поддерживается. | Атрибут сохраняется. | Атрибут удален из схемы. |
| Атрибут readOnly не<br>поддерживается. | Атрибут сохраняется. | Атрибут удален из схемы. |
| Атрибут additionalProperties<br>не поддерживается. | Атрибут сохраняется, и отображается информационное<br>сообщение. | Отображается предупреждающее сообщение, но его можно проигнорировать, и определение может быть<br>успешно импортировано. |
| Типы определений безопасности:<br><br><ul><li><span>oauth2</span> не поддерживается,</li><li><span>http</span> не поддерживается,</li><li><span>openIdConnect</span> не поддерживается.</li></ul> | Схемы безопасности сохраняются, и отображается информационное<br>сообщение. | Отображается предупреждающее сообщение, но его можно проигнорировать, и определение может быть<br>успешно импортировано. |
| Примитивные типы данных в ответах не поддерживаются. | Примитивный тип оборачивается в схему компонента, и отображается предупреждающее<br>сообщение. | Импорт пройдет успешно. |
| Диапазоны медиатипов не поддерживаются. | Запрос или ответ сохраняется, и отображается информационное<br>сообщение. | Импорт завершается ошибкой, и отображается предупреждающее сообщение. |
| Ответ по умолчанию не поддерживается. | Ответ сохраняется, и отображается информационное сообщение. | Импорт завершается ошибкой, и отображается предупреждающее сообщение. |
| Диапазонные ответы не поддерживаются. | Ответ сохраняется, и отображается информационное сообщение. | Импорт завершается ошибкой, и отображается предупреждающее сообщение. |
| Переменные пути, параметры запроса и заголовки должны иметь уникальные имена. | Параметры сохраняются, и отображается сообщение об ошибке. | Импорт завершается ошибкой. |

## Экспорт определения OAS/Swagger 2.0 для Azure API Management

В следующей таблице описано, как API Contracts обрабатывает функции, не поддерживаемые Azure API Management, при экспорте определения, и что происходит в Azure API Management при импорте определения.

| Неподдерживаемая функциональность, характеристики OpenAPI | Контракты API<br>поведение при экспорте | Поведение Azure API Management при импорте |
| --- | --- | --- |
| Обязательные параметры как в путях, так и в запросах должны иметь уникальные имена. | Отобразится сообщение об ошибке. | Импорт завершается ошибкой. |