我目前正在尝试将 swagger.json 文件映射到 io.swagger.models.Swagger.class。我尝试使用 com.fasterxml.jackson.databind.ObjectMapper.class 通过以下方式解决问题:
new ObjectMapper().readValue(file.getInputStream(), Swagger.class)`
但我得到了这个例外:
"InvalidDefinitionException: Cannot construct instance of io.swagger.models.parameters.Parameter (no Creators, like default construct, exist): abstract types either need to be mapped to concrete types, have custom deserializer, or contain additional type information at [Source: (FileInputStream); line: 28, column: 21] (through reference chain: io.swagger.models.Swagger["paths"]->java.util.LinkedHashMap["/myPath"]->io.swagger.models.Path["post"]->io.swagger.models.Operation["parameters"]->java.util.ArrayList[0])"
问题是 Swagger 类中的参数字段如下所示:
protected Map<String, Parameter> parameters;
这里的Parameter是一个Interface,所以ObjectMapper不知道要实例化哪个类(BodyParameter, PathParameter, FormParameter...)
我希望将 swagger.json 文件加载到 Swagger 对象中。
谢谢您的帮助。
慕斯王
慕田峪4524236
相关分类