在@RequestBody中使用spring转换器
是否可以强制使用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;
}
转换器代码示例:
@Componentpublic 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嵌套对象中自动获取的对象。
回答:
您应该JacksonCustomMapper
通过扩展JsonMapper
然后将其注册到的集合中来实现自己的实现HttpMessageConverters
。但是,我不建议您污染默认转换,您可以传入@RequestBody
不完整的json,Jackson会将其解析为您的对象,这样就可以在json对象中不传递错误的键就足够了。
)此处:http
:
//magicmonster.com/kb/prg/java/spring/webmvc/jackson_custom.html。好好享受
:-)
以上是 在@RequestBody中使用spring转换器 的全部内容, 来源链接: utcz.com/qa/412906.html