Spring Boot RestController + Jackson:将JSONObject的数组反序列化为Map <string,string =“”>

时间:2018-05-16 14:03:52

标签: spring-boot jackson mapping

我从我们项目的前端收到了这样的结果:

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

在我的Spring Boot REST Controller中,我在接收对象时创建了一个要映射的dto:

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

我想将对象的第一个值映射为Map中的键,将第二个值映射为Map值。所以在例如,它会给我一个像:

的地图
@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,但它似乎并没有满足我的需求。

0 个答案:

没有答案