如何在toString方法上使用Jackson序列化?

问题描述 投票:0回答:1

我已经通过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序列化?

java jackson spring-aop lombok
1个回答
0
投票

我用ObjectMapper解决了我的问题。

Object result = joinPoint.proceed();
if (log.isDebugEnabled()) {
    log.debug("Exit: {}.{}() with result = {}", 
        joinPoint.getSignature().getDeclaringTypeName(),
        joinPoint.getSignature().getName(), 
        new ObjectMapper().writeValueAsString(result));
}
© www.soinside.com 2019 - 2024. All rights reserved.