Я пытаюсь использовать приложение API Azure для API, и у меня есть действующая схема Swagger для использования в сервисе, следуя документации here. Я могу получить схему Swagger на своей конечной точке как на моем локальном сервере, так и после развертывания приложения API, и я обновил файл web.config, включив в него тип приложения/json MIME. Мой файл apiapp.json выглядит следующим образом:Приложение Azure API не распознает определение Swagger
{
"$schema": "http://json-schema.org/schema#",
"id": "apiapp.dlxdev",
"namespace": "microsoft.com",
"gateway": "/* gateway, copied from Azure portal */",
"version": "1.0.0",
"title": "DLX API App (Dev)",
"summary": "The developer version of the DLX API App.",
"author": "Daniel W. Hieber",
"endpoints": {
"apiDefinition": "/api.json",
"status": null
}
}
Даже если моя конечная точка определяется как /api.json
, когда я иду к API Определение лопастью в Azure Portal, он говорит Failed to get metadata for 'apiApp.dlxDev' from endpoint '/swagger/docs/v1': Failed status code: 'NotFound'. Response Body: 'Not Found'.
. Кажется, что Azure все еще ищет мой файл Swagger на конечной точке по умолчанию /swagger/docs/v1
, а не указанную конечную точку /api.json
.
Я также пробовал создать папку metadata
и разместить там свою схему Swagger (переименовав ее в apiDefinition.swagger.json
, следуя документации), и ей тоже не повезло.
Любые идеи, в которых я ошибаюсь? Почему Azure не обнаруживает конечную точку для моей схемы Swagger?
UPDATE 1
Теперь я получаю следующее сообщение об ошибке в API Определение клинка: #/definitions/: Cannot determine schema of data definition named ''
. Это, похоже, не проблема с самой схемой Swagger, так как все ссылки на мои схемы отформатированы правильно, и сама схема действительна.
UPDATE 2
Единственное, что мне нужно сделать, это перезапустить шлюз, под которым мой API приложение было приютили. Перезапуск шлюза вызывает изменение сообщения об ошибке. Поэтому я думаю, что приложение теперь распознает мою схему Swagger. Но я все еще не уверен, почему я получаю ошибку «Не могу определить схему», так как моя схема отформатирована правильно.
Просто FYI, у меня не было возможности попробовать это, но я скоро и я выложу здесь работал ли он. Цените ответ! – dwhieb