gpt4 book ai didi

java - 使用 JAX-RS GenericType 进行 Jackson 对象映射

转载 作者:行者123 更新时间:2023-12-02 01:05:08 24 4
gpt4 key购买 nike

我想为javax.ws.rs.client.SyncInvoker编写代理:

    @Override
public <T> T get(GenericType<T> responseType) {
String payload = delegate.get(String.class);
// very important logic...
return objectMapper.readValue(payload, responseType); // fix this
}

当然,上面的代码无法编译,因为 jackson 不知道 jax-rs 中的 GenericType 的任何信息。看来我可以使用以下方法之一:

public <T> T readValue(String content, TypeReference valueTypeRef)
public <T> T readValue(String content, JavaType valueType)

但我很困惑如何找到将 GenericType 转换为 TypeReferenceJavaType 的正确方法。

最佳答案

将我的评论提升为答案。试试这个:

JavaType javaType = objectMapper.constructType(responseType.getType())

关于java - 使用 JAX-RS GenericType 进行 Jackson 对象映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60150948/

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