JSON для конвекции объектов с произвольным элементом в JSON - PullRequest
0 голосов
/ 18 ноября 2018

У меня очень типичное требование для преобразования запроса JSON в java objet в приложении Spring Boot Rest… Формат JOSN - это что-то вроде

{
"memberId":1,
"memberPIIData":[{
"Address":"test",
"BOD":"12/12/12",
"card":"3333 3333 33333"
}],
"memberNonPIIData":[{
"firstName":"ser ffe",
"lastName":"werwer",
"email":"jjjj"
}]
}

где "memberPIIData" и "memberNonPIIData" оба не имеют фиксированного элемента. клиент может вызывать этот API с любым номером и именем, установленными для данных PII и не PII. Клиент может добавить любой произвольный элемент в массив PII или не в массив NON PII, но он должен быть в формате ключ: значение.

В таком случае, как я могу определить структуру объекта в Java (приложение микросервиса с пружинной загрузкой), чтобы запрошенный JSON мог отображаться с помощью объекта Java, а логика могла применяться к имени параметра запроса данных PII или не PII. (например, если карта находится в запросе, необходимо вызвать дополнительный метод с некоторой бизнес-логикой)

Любая помощь будет высоко оценена ....

1 Ответ

0 голосов
/ 18 ноября 2018

Возможно, вам нужно определить класс DTO.

class MyDTO {

    Integer memberId;
    List<Map<String, String>> memberPIIData;
    List<Map<String, String>> memberNonPIIData;

    // getter and setters

}

Вы можете получить json через ваш обработчик, используя приведенный ниже шаблон.

@PostMapping
public void myHandler(@RequestBody MyDTO myDTO) {
    // your processing logic
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...