我从我们项目的前端收到了这样的结果:
{
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,但它似乎并没有满足我的需求。