【问题标题】:Hosting Java REST API on Azure API app service在 Azure API 应用服务上托管 Java REST API
【发布时间】:2015-09-02 13:58:16
【问题描述】:

我已经手动部署了一个 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
    }
}

我可以通过导航到 https://&lt;myapphost&gt;.azurewebsites.net/myapp/api-docs 来获取 swagger json

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

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

【问题讨论】:

  • 1.您是否在“免费”计划中?在你能做什么和不能做什么方面可能会有一些限制。可以升级到标准吗? 2. 您是否了解所有软件包和 SDK 的最新信息?
  • @jdruid,我正在试用订阅并使用标准 S1 服务计划。我有最新的 Azure SDK for Java - 正如我所说的 API 工作正常,我可以与它交谈。是 API 定义部分不起作用。

标签: azure restlet azure-api-apps


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-12-17
    • 2016-02-19
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 2020-10-12
    • 1970-01-01
    相关资源
    最近更新 更多