【发布时间】:2016-03-25 12:16:12
【问题描述】:
是否可以强制Converter(org.springframework.core.convert.converter.Converter)完成json对象映射?
Json 代码示例:
{
"name": "somename",
"customObject": id
}
其中 somename - 字符串,id - 整数值
映射到:
@Getter
@Setter
@NoArgConstructor
public class ParentObject{
private String name;
private CustomObject customObject;
}
转换器代码示例:
@Component
public class CustomObjectConverter implements Converter<String, CustomObject>{
@Autowired
private CustomObjectService customObjectService;
@Override
public CustomObject convert(String arg0) {
Long id = Long.parseLong(arg0);
return customObjectService.findById(id);
}
}
我想要实现的是将该 json 映射到将自动从 db 嵌套对象中获取的对象。
【问题讨论】:
-
我认为在转换器内部使用 db 调用不是一个好主意。但要回答您的问题,您只需要在 jackson 中使用 ObjectMapper 将 json 字符串转换为 json 对象
-
你的评论让我很感兴趣,它可能跑题了,但我很好奇从转换器组件调用服务有什么问题。在这样的流程中我找不到任何危险的地方。
标签: java json spring spring-mvc jackson