0

我已经手动部署了一个 WAR(在 Tomcat 上),其中包含一个 REST API 的实现,它公开了一个 Swagger 2.0 端点。REST API 是使用 Java 中的 Restlet 框架开发的。应用主机上的文件夹结构如下所示:

/site/wwwroot/webapps/myapp.war
/site/wwwroot/apiapp.json

的内容apiapp.json是:

{
    "$schema": "http://json-schema.org/schemas/2014-11-01/apiapp.json#",
    "id": "myapp.apiapp",
    "namespace": "<myusername>.onmicrosoft.com",
    "gateway": "2015-01-14",
    "version": "1.0.0",
    "title": "Title",
    "summary": "",
    "author": "Author",
    "endpoints": {
        "apiDefinition": "/myapp/api-docs",
        "status": null
    }
}

我可以通过导航到 swagger jsonhttps://<myapphost>.azurewebsites.net/myapp/api-docs

但是,当我尝试在 Azure 门户上查看 API 定义时,我看到一个空白表,然后出现以下错误:

The gateway did not receive a response from 'Microsoft.AppService' within the specified time period.
4

1 回答 1

0

操作员错误 :-) 我以为我提供的是 Swagger 2.0,而实际上我仍然提供旧的 Swagger 1.2。将规范更新到 Swagger 2.0 后,我现在可以看到 Azure 门户上列出的定义。我希望这个错误比“网关超时”更有意义!

于 2015-09-03T06:36:21.810 回答