【问题标题】:WSO2 API import not doing anything (from Swagger)WSO2 API 导入没有做任何事情(来自 Swagger)
【发布时间】:2016-09-15 15:05:44
【问题描述】:

我刚刚安装了 WSO2 2.0.0(据我所知,这是 v1.9.0 之后的版本,不是破坏性的兼容版本)。我在 Windows 上通过 Firefox 40.0.2 使用它。

当我尝试通过“我有一个现有的 API”菜单添加新的 API 时,无论我做什么,它总是打开一个空的设计 API 屏幕:https://localhost:9443/publisher/design

在此屏幕中,当我尝试导入 API(swagger 文件或 swagger URL)时,它什么也不做,不会提示任何错误。我的 swagger 文件遵循 Swagger API 2.0 规范,并且对应于已在生产中使用的 API。

我应该怎么做才能至少获得有关此 API 导入的有用错误消息? (如果它正在安装其他版本的 WSO2,这对我来说是一个有效的答案。)。

这是我尝试导入的 Swagger 文件:

    {
   "apiVersion":"2.0",
   "swaggerVersion":"1.2",
   "basePath":"/ValoConso/rest",
   "resourcePath":"/valoConsoWebService",
   "apis":[
      {
         "path":"/valoConsoElec",
         "operations":[
            {
               "method":"POST",
               (...)
            }
         ]
      }
   ],
   "models":{
      (...)
   }
}

【问题讨论】:

  • 您能否检查一下您是否收到任何浏览器控制台错误?例如:“Uncaught TypeError: Cannot convert undefined or null to object”
  • 在 Firefox 中,我没有错误,只有关于 SHA-1 证书的警告。我刚刚在 Chrome 中尝试过,我收到了你提到的消息,来自这个 js 行:api-design.js 中的“if(Object.keys(this.api_doc.paths).length == 0)”。那么它是 WSO2 中的一个已知错误吗?
  • 另外,当我尝试导入建议的示例时:petstore.swagger.io/v2/swagger.json,导入按钮变为“保存”,然后一切都冻结(控制台中没有错误)。我应该扔掉这个太年轻而无法使用的 2.0.0 版本吗?

标签: api wso2 swagger wso2-am


【解决方案1】:

您尝试导入的 swagger 文档似乎是 swagger 版本 1.2(“swaggerVersion”:“1.2”)。从 API Manager 1.9 开始,我们应该使用兼容 swagger 2.0 的定义。

您可以使用http://editor.swagger.io/#/ 根据 2.0 规范验证您的 swagger 定义。请尝试按照 2.0 规范转换,然后导入 API Manager 2.0。

查看一些有用的资源:

[1] Swagger 2.0 示例:https://github.com/OAI/OpenAPI-Specification/tree/master/examples/v2.0/json

[2] Swagger 1.2 -> 2.0 迁移指南:https://github.com/OAI/OpenAPI-Specification/wiki/swagger-1.2-to-2.0-migration-guide

【讨论】:

  • 好的,谢谢,这是一个有用的答案,但为什么你的工具不能在弹出错误消息中说出来,而不是执行这个静默 nullPointerException(或 JS 等效项)?我的意思是,如果你一开始没有考虑增加健壮性,那么每次收到反馈时你都会考虑吗?
  • 感谢您的反馈。如果可以,请在wso2.org/jira/browse/APIMANAGER 下创建一个问题,以便跟踪并在未来的版本中修复。
猜你喜欢
  • 2021-11-15
  • 2012-09-07
  • 2016-10-02
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多