我有以下类:
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
不确定为什么对象映射器没有连接。