如何让Jackson在反序列化时抛出错误的大小写



我有以下类:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;
@Data
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@JsonIgnoreProperties(ignoreUnknown = false)
public class Header {
private String myName;
private String client;
private String createdOn;
private String updatedOn;
}

和我的映射器如下所示:

public static <T> T fromJson(String json, Class<T> clazz) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true);
return mapper.readValue(json, clazz);
}

今天,如果有人混乱的json对象例如搅乱资本化client:

"my_name": "John Doe",
"cLient": "Foo Bar",
"created_on": "12-08-2021",
"updated_on": "06-09-2022"

client反序列化为null。我希望它出错,因为外壳是错误的。

是否有办法做到这一点与配置?如果没有,怎么做?

您可以在您的yaml中完成此操作。

spring:
jackson:
deserialization:
FAIL_ON_UNKNOWN_PROPERTIES: true

不确定为什么对象映射器没有连接。

相关内容

最新更新