Spring Boot RestController + Jackson: десериализовать массив JSONObject to Map - PullRequest
0 голосов
/ 16 мая 2018

Я получаю от внешнего интерфейса нашего проекта такой результат:

{
   someField: 'lorem ipsum',
   codesList: [
      { type: 'BARCODE', code: '1618496'},
      { type: 'LOLCODE', code: '000222'}
   ]
}

и в моем REST-контроллере Spring Boot я создал dto для отображения при получении объекта:

public class ProductDto {
   private String someField;
   private Map<String, String> codesList;
   // ACCESSORS
}

Я хочу отобразить первое значение объекта как ключ в моей карте, а второе значение как значение карты.Так, например, он дал бы мне карту типа:

@HashMap({key: "BARCODE" , value: "1618496"}, {key: "LOLCODE", value: "000222 "})

Мой метод конечной точки REST:

  public ResponseEntity<ProductDto> addProduct(@RequestBody ProductDto productDto) {
       // it doesn't even reach this part, because I have a parsing exception with the Map<String, String>
    }

С Джексоном я начал смотреть на @JsonCreator или @JsonSubTypeно не кажется, что он отвечает моим потребностям.

...