Я использую wso2am-4.3.0 и пытаюсь импортировать swagger для создания API. Однако из-за ошибок проверки OpenAPI API невозможно создать. Так как сваггер работал со старыми версиями API Manager, у него слишком много методов с ошибками проверки OpenAPI и задача стала слишком сложной, чтобы исправлять свагеры по одному.
Я попытался отключить проверку, добавив следующую конфигурацию в файл Deployment.toml, но проверка все равно сохраняется.
[apim.swagger]
validation_level = 0
Можно ли хотя бы временно отключить проверку, чтобы старые сваггеры были совместимы с последней версией API-менеджера? Заранее спасибо.
Редактировать:
Как показано на снимке экрана ниже, API невозможно создать из-за ошибок линтера на самом первом этапе. Следующая кнопка отключена.
@Athiththan добавил к посту скриншот.
Указанная конфигурация недоступна в WSO2 API Manager 4.3.0, поэтому настройка следующей не решит проблему.
[apim.swagger]
validation_level = 0
Проверка применяется по умолчанию в WSO2 API Manager 4.3.0, однако можно установить системное свойство, чтобы ослабить проверку. Добавьте следующее системное свойство в <wso2-home>/bin/api-manager.sh
-DswaggerRelaxedValidation=true
После добавления вышеупомянутой конфигурации файл api-manager.sh
выглядит так, как показано ниже.
...
-Djdk.nio.zipfs.allowDotZipEntry=true \
-DswaggerRelaxedValidation=true \
org.wso2.carbon.bootstrap.Bootstrap $*
status=$?
done
И перезапустите сервер API Manager, чтобы конфигурации вступили в силу. Вы все равно можете увидеть некоторые ошибки линтера, однако их можно игнорировать до определенного уровня.
Также проверьте, есть ли у них блок "info"
и блок "title"
. Обратите внимание, что оба блока "info"
и "title"
обязательны для WSO2 API Manager для выполнения базовых проверок Swagger. Например
...
"info": {
"title": "Title"
}
...
Если они отсутствуют в определении Swagger, добавьте эти блоки и попробуйте импортировать.
Привет @Athiththan, несмотря на то, что можно было импортировать API, при вызове одного из них вызов API завершается с ошибкой со следующей ошибкой. java.lang.NullPointerException: null в io.swagger.v3.parser.converter.SwaggerConverter.lambda$addProperties$11(SwaggerConverter.java:1268) ~[swagger-parser_2.1.20.wso2v1.jar:?] в java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[?:?] в io.swagger.v3.parser.converter.SwaggerConverter.addProperties(SwaggerConverter.java:1267) ~[swagger-parser_2 .1.20.wso2v1.jar:?]
Разве это не позволяет вам создавать API в диспетчере API? Или вы столкнулись с какими-либо сбоями при попытке создать API посередине? Не могли бы вы поделиться несколькими скриншотами проблемы, с которой вы столкнулись, и объяснить подробнее?