我尝试反序列化一些类以在openapi中使用。例如:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MyClass", propOrder = {
"config",
"value"
})
public class MyClass
{
@XmlElement(name = "CONFIG")
protected MyConfig config;
@XmlElement(name = "VALUE")
protected MyValue value;
public MyConfig getCONFIG()
{
return config;
}
public MyValue getVALUE()
{
return value;
}
}
我正在使用这些依赖项:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.4</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
</dependency>
在我的swagger ui中,我看到它生成了以下json:
{
"value": {
[...]
},
"config": {
[...]
}
}
但是我的rest接口只接受属性为大写的对象。
这是我的对象Map器:
om = new ObjectMapper();
om.registerModule(new JaxbAnnotationModule());
我做错什么了?
1条答案
按热度按时间dfddblmv1#
你可以用
MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES
.允许对传入的json进行更宽容的反序列化的特性。如果启用,bean属性将使用它们的小写等价物进行匹配,这意味着任何大小写组合(传入和匹配的名称由小写规范化)都应该工作。
所以: