У меня есть слушатель, который слушает очередь. Сообщение из очереди представляет собой текст в формате json. Мне нужно обработать их, а затем сохранить в базе данных mongodb. Я использовал DTO для входящих JSON. Проблема в том, что я могу сохранить данные только в нижнем регистре, так как я использовал DTO. Но входящие данные в верхнем регистре. Как я могу изящно сделать это, используя Джексона / Спринг?
Я пробовал @JsonGetter и @JsonSetter в DTO. Но это не сработало. Он все еще сохраняет данные в нижнем регистре.
Мини-версия моего кода:
DTO:
public String getMessage() {
return message;
}
@JsonSetter("MESSAGE")
public void setMessage(String message){
this.message = message;
}
Хранение данных:
mongoOperations.save(DTO,collectionname);
Документ в базе данных:
_id: ObjectId("5da831183852090ddc7075fb")
message: "hi"
Я хочу, чтобы данные в mongodb были:
_id: ObjectId("5da831183852090ddc7075fb")
MESSAGE: "hi"
Входящие данные имеют ключ как MESSAGE. Поэтому я бы хотел сохранить их. Я не хотел бы, чтобы имена полей DTO были в верхнем регистре.