gpt4 book ai didi

Jackson - 如何在运行时找到事件的 JsonView

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

我有包装 JPA 实体的 UI 对象,并且在该 UI 对象的构造函数中,我对某些属性进行了延迟加载。在同一个构造函数中,我需要知道 JsonView 当前处于事件状态,因此我不会延迟加载一些不需要的字段,如果说它是 ListView 。
有没有办法从构造函数中找出运行时当前事件的 JsonView。或者有没有其他方法可以实现我上面描述的内容。

我目前的计划
创建自定义序列化程序,在序列化期间将调用它序列化的对象的 setJsonView(Class jsonView)。我所有序列化的对象都必须支持该方法。在那个metid中,我可以根据现在已知的json View 进行延迟加载。像这样的东西:

public class JsonViewSerializer extends JsonSerializer<BaseSerializableEntity> {

@Override
public void serialize(BaseSerializableEntity value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
value.setJsonView(provider.getSerializationView());
// need to pass serialization to base class...
}

}

最佳答案

当前事件 View 可通过上下文对象( SerializerProviderDeserializationContext )访问,使用方法 getActiveView() .

关于Jackson - 如何在运行时找到事件的 JsonView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32751996/

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