gpt4 book ai didi

java - 如何在jackson 2.8.1中访问TypeResolutionContext

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:45 24 4
gpt4 key购买 nike

我正在将 java 项目中的 jackson 库从版本 2.4.6 升级到最新版本 (2.8.1)。以下 AnnotatedField 构造函数现在需要一个 TypeResolutionContext 类型的新参数

// v2.4.6
AnnotatedField(Field field, AnnotationMap annMap)

// v2.8.1
AnnotatedField(TypeResolutionContext contextClass, Field field, AnnotationMap annMap)

我阅读了 API ( https://fasterxml.github.io/jackson-databind/javadoc/2.8/com/fasterxml/jackson/databind/introspect/TypeResolutionContext.html ),但找不到如何获取此 TypeResolutionContext。

只有 2 个类实现了此 TypeResolutionContext(AnnotatedClass 和 TypeResolutionContext.Basic),但它们似乎都没有合适的返回 TypeResolutionContext 的访问器方法。

谁知道怎样才能得到它?

最佳答案

AnnotatedField 构造函数虽然是公共(public)的,但不应该直接使用——它不是为实例化而设计的。因此,在大多数情况下,如果 TypeResolutionContext 参数为空实现,则它可以正常工作,如下所示:

// lambda use to be more explicit (could be just null)
AnnotatedField annotatedField = new AnnotatedField( ( Type t) -> { return null; }, field, annMap);

(+信息有点偏离主题:PropertyNamingStrategy 也不应该在 jackson 项目之外使用。)

来源:https://groups.google.com/forum/#!topic/jackson-user/96wemvuUCHs

关于java - 如何在jackson 2.8.1中访问TypeResolutionContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38797189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com