mapstruct с GSON - PullRequest
       7

mapstruct с GSON

0 голосов
/ 21 февраля 2020

Мы используем mapstruct в нашем проекте. Хотя он работает отлично для dto для объекта домена (скажем EmployeeDTO для EmployeeData с похожими свойствами) - нам нужно обработать входящую строку json. Мы пытаемся написать очень обобщенный преобразователь c, который отображает входящую строку json на объект java.

Допустим, у нас есть EmployeeDTO, подобный этому

{id: 1, name = "xxx"}, но он приходит в виде строки, и у меня есть mapmap mapper, таким образом

@Mapper
EmployerMapper()
{
   EmployeeData toEmployeeFromJsonString( String empString} ;// where empString is a jsonString
}

он не работает должным образом, и я не получаю соответствующий объект, созданный с нужным свойством из строки json (я также пробовал с jsonobject, но это тоже не работает)

Причина почему мы не можем указать конкретные c DTO, потому что мы хотим иметь слабую связь между микросервисом Сотрудника и остальными микросервисами (есть несколько), mapstruct не создает подходящие методы получения и установки, и может быть больше свойств в DTO, который нас не волнует в этом микросервисе. 1. Есть ли поддержка json объектов непосредственно в mapstruct? 2. Если я улучшу его с помощью поддержки GSON, как я могу интегрировать его с mapstruct, чтобы у меня был только один способ отображения в моем продукте.

1 Ответ

0 голосов
/ 03 марта 2020
  1. Нет. MapStruct - это каркас отображения, а не синтаксический анализ
  2. Для десериализации JSON у вас есть несколько специфических c каркасов: checkout Как анализировать JSON в Java
...