Jar*_*rek 5 java spring json spring-mvc jackson
是否可以强制Converter(org.springframework.core.convert.converter.Converter)来完成json对象映射?
Json代码示例:
{
"name": "somename",
"customObject": id
}
Run Code Online (Sandbox Code Playgroud)
其中 somename - 字符串,id - 整数值
映射到:
@Getter
@Setter
@NoArgConstructor
public class ParentObject{
private String name;
private CustomObject customObject;
}
Run Code Online (Sandbox Code Playgroud)
转换器代码示例:
@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);
}
}
Run Code Online (Sandbox Code Playgroud)
我想要实现的是将 json 映射到将从数据库嵌套对象自动获取的对象。
您应该JacksonCustomMapper通过扩展JsonMapper然后将其注册到HttpMessageConverters. 但是,我不建议污染默认转换,您可以传入@RequestBody不完整的 json,Jackson 会将其解析为您的对象,这足以不在您的 json 对象中传递错误的键...一个示例(数千个) )这里: http: //magicmonster.com/kb/prg/java/spring/webmvc/jackson_custom.html。好好享受 :-)