我试图验证一些可能包含swagger规范的字符串。我试图使用swagger解析器。
以下代码不起作用。我只收到消息:“[属性不是类型object
]”
从xml文件中读取swagger规范。
swaggerXml = nodeList.item(0).getTextContent();
SwaggerDeserializationResult res = new SwaggerParser().readWithInfo(swaggerXml);
for (int i = 0; i < res.getMessages().size(); i++){
log.info(res.getMessages().toString());
}
这种方法有误吗?要么。错误消息的含义是什么? 我只是想知道该字符串是否包含JSON格式的有效Swagger规范。
感谢您的帮助。
更新:问题已解决
据我所知,如果字符串不是json有效则抛出错误。首先,我检查json是否有效,然后才执行swagger解析器。
答案 0 :(得分:0)
只想提供我前一段时间想出的解决方案。
SwaggerParser parser = new SwaggerParser();
SwaggerDeserializationResult result = parser.readWithInfo(swaggerXml);
List<String> messageList = result.getMessages();
然后打印列表元素。