我已经通过Jackson
序列化设置了一个暴露的实体类,它在我的RestController
中运行良好。
最近,我试图创建一个Spring AOP
来显示日志,但它使用了类的toString
,它抛出了StackOverflow
异常,因为该类包含双向关系。
Object result = joinPoint.proceed();
if (log.isDebugEnabled()) {
log.debug("Exit: {}.{}() with result = {}",
joinPoint.getSignature().getDeclaringTypeName(),
joinPoint.getSignature().getName(),
result);
}
如何设置toString
方法以使用已配置的Jackson
序列化?
我用ObjectMapper
解决了我的问题。
Object result = joinPoint.proceed();
if (log.isDebugEnabled()) {
log.debug("Exit: {}.{}() with result = {}",
joinPoint.getSignature().getDeclaringTypeName(),
joinPoint.getSignature().getName(),
new ObjectMapper().writeValueAsString(result));
}