首页 文章

WSO2 API Manager 1.8.0无法导入Swagger定义

提问于
浏览
1

我正在尝试在创建新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

我正在使用以下配置:

  • Swagger-core_2.11-1.3.12

  • Swagger-jersey2-jaxrs_2.11-1.3.12

  • Swagger-annotations-1.3.12

  • Tomcat 7

  • JDK 1.7

  • WSO2 API Manager 1.8.0

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

WSO2 AM 1.8.0支持哪种Swagger规范?

任何帮助都非常感谢 . 谢谢 .

1 回答

  • 0

    我能够克服这个问题 . 文件 wso2am-1.8.0\repository\deployment\server\jaggeryapps\publisher\site\blocks\item-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);

相关问题