Я работаю в проекте, где мне нужно отправить запрос на удаленный сервис в 2 разных форматах
Формат 1:
{
"templateId": "template1",
"configurationData": {
"inboundHeaders": [
{
"key": "header1",
"value": "value1"
}, {
"key": "header2",
"value": "value2"
}, {
"key": "header3",
"value": "value3"
}
],
"outboundHeaders": [
{
"key": "header4",
"value": "value4"
}, {
"key": "header5",
"value": "value5"
}, {
"key": "header6",
"value": "value6"
}
]
}
}
Формат 2
{
"templateId": "template1",
"configurationData": {
"inboundHeaders": "head1",
"outboundHeaders" : "head2,head3"
}
}
Теперь я создал один класс
@JsonPropertyOrder({ "inboundHeaders", "outboundHeaders"})
public class ConfigurationData {
@JsonProperty("inboundHeaders")
private List<Header> inboundHeaders = null;
@JsonIgnore
@JsonProperty("outboundHeaders")
private List<Header> outboundHeaders = null;
@JsonProperty("inboundHeaders")
private String inboundHeader = null;
@JsonProperty("outboundHeaders")
private String outboundHeader = null;
}
Геттеры и сеттеры go здесь ....
Но когда я Я выполняю эту программу. Очевидно, я получаю следующее исключение, например
com.faster xml .jackson.databind.JsonMappingException: несколько полей, представляющих свойство
Как обрабатывать эти две разные версии (java.util.List
против java.lang.String
) запросов в одном Json
POJO?