使用 json 作为 cxf-wadl2java 的来源
Using json as a source for cxf-wadl2java
我收到 json 格式的 RESTful 服务规范,需要为客户端创建 java api 库。
现在 swagger 可以毫无问题地做到这一点,但我更愿意使用 cxf-wadl2java maven 插件。默认情况下,它不期望 json 格式。请参阅下面的异常原因堆栈跟踪。
有没有办法配置 cxf-wadl2java 插件来读取 json 文档?
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<'
at [row,col {unknown-source}]: [1,1]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:653)
at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2133)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1181)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1367)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1261)
at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1189)
at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1178)
at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1168)
at org.apache.cxf.tools.wadlto.jaxrs.SourceGenerator.readXmlDocument(SourceGenerator.java:1757)
... 32 more
也许你可以进行两步转换。 swagger.json 到 wadl 文件,然后使用 wadl2java 插件。
- 在你的机器上安装 npm
- 使用 this npm package 中定义的 maven exec 插件和 运行 命令从 swagger 转换为 wadl。
- 使用 cxf wadl2java 插件从上面生成的 wadl 文件生成 java 文件。
编辑
swagger.io 提供了一个 maven 插件。请参考用法示例 here
我收到 json 格式的 RESTful 服务规范,需要为客户端创建 java api 库。
现在 swagger 可以毫无问题地做到这一点,但我更愿意使用 cxf-wadl2java maven 插件。默认情况下,它不期望 json 格式。请参阅下面的异常原因堆栈跟踪。
有没有办法配置 cxf-wadl2java 插件来读取 json 文档?
Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<' at [row,col {unknown-source}]: [1,1] at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:653) at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2133) at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1181) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1367) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1261) at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1189) at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1178) at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:1168) at org.apache.cxf.tools.wadlto.jaxrs.SourceGenerator.readXmlDocument(SourceGenerator.java:1757) ... 32 more
也许你可以进行两步转换。 swagger.json 到 wadl 文件,然后使用 wadl2java 插件。
- 在你的机器上安装 npm
- 使用 this npm package 中定义的 maven exec 插件和 运行 命令从 swagger 转换为 wadl。
- 使用 cxf wadl2java 插件从上面生成的 wadl 文件生成 java 文件。
编辑
swagger.io 提供了一个 maven 插件。请参考用法示例 here