我目前有这段代码,我正在尝试重构以允许更多可能的类类型(使用虚拟代码进行了简化,但要点是相同的):
private String serializeSomething(final SomeSpecificClass something) {
try {
return mapper.writeValueAsString(someething);
} catch (final IOException e) {
throw new SomeCustomException("blah", e);
}
}
private SomeSpecificClass deserializeSomething(final String payload) {
try {
return mapper.readValue(payload, SomeSpecificClass.class);
} catch (final IOException e) {
// do special things here
throw new SomeCustomException("blah", e);
}
}
我们最近发现我们可能不得不在这里接受其他类型,而不仅仅是SomeSpecificClass. 有没有更好的方法可以做到这一点而不必将所有内容更改为Objectinstead of SomeSpecificClass?这样我们就可以返回正确的类型deserializeSomething(而不必在我们从调用者那里获得返回值后强制转换它)?
炎炎设计
相关分类