WSO2 API Manager 1.8.0 无法导入 Swagger 定义

WSO2 API Manager 1.8.0 fails to import Swagger definition

我试图在创建新 API 时在 WSO2 AM 1.8.0 中导入 Swagger 定义。但是,导入失败,日志中出现如下异常,

ERROR {JAGGERY.site.blocks.item-design.ajax.import:jag} -  org.mozilla.javascript.WrappedException: Wrapped com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected EOF at line 1 column 27 (/publisher/site/blocks/item-design/ajax/import.jag#25)

Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected EOF at line 1 column 27

Caused by: com.google.gson.stream.MalformedJsonException: Expected EOF at line 1 column 27

我正在使用以下配置:

我创建了两个简单的 restful 服务并向它们添加了 Swagger 注释。我可以在 Swagger UI 中看到文档,也可以调用它们。我验证了列表和资源生成的 JSON 并发现它有效。但是,当我尝试在 WSO2AM 中导入该定义时,它失败了。

WSO2 AM 1.8.0 支持什么 Swagger 规范?

非常感谢任何帮助。谢谢

我能够克服这个问题。文件 wso2am-1.8.0\repository\deployment\server\jaggeryapps\publisher\site\blocks\ite‌ m-design\ajax\import.jag 包含发送 http 请求并循环获取 json 数据的代码。

var xhr = new XMLHttpRequest(); for(var i = 0; i < swaggerJson.apis.length; i++){ xhr.open("GET", url + swaggerJson.apis[i].path);

由于某种原因,无法重用 XMLHttpRequest 实例来发送后续请求。我在 for 循环中移动了 XMLHttpRequest 实例创建语句并且它起作用了。

//var xhr = new XMLHttpRequest(); for(var i = 0; i < swaggerJson.apis.length; i++){ var xhr = new XMLHttpRequest(); // moved instance creation here xhr.open("GET", url + swaggerJson.apis[i].path);