我正在使用jax-rs在REST API的@JsonView
方法上定义@GET
。在其中一个返回的对象中,我使用@JsonSerializer
定义了自定义序列化程序。它上面还有@JsonView
。我意识到即使对象没有包含在GET上定义的JsonView中,它仍然序列化对象但不包括在JSON响应中。问题是,由于序列化对象的类型,在序列化期间将不必要地调用额外(和慢)代码。当我尝试getActiveView()
传递到我的自定义序列化程序时{I}},我得到null。在不知情的情况下,我不确定如何跳过序列化过程。当自定义序列化程序被调用时,单步执行整个Jackson调用堆栈,我看不到任何迹象表明它知道端点上设置的视图。
假设我没有完全关闭我的方法,我怎么知道在自定义序列化器中的端点上设置了什么(如果有的话)?
帮助可视化问题 -
示例端点
SerializerProvider
带注释的POJO -
@GET
@JsonView(Views.AView.class)
public Response getSomething(...) {
...
}
最后 -
...
@JsonSerialize(using = ASerializer.class)
@JsonView(Views.AView.class)
private Set<Stuff> stuffList;
...
答案 0 :(得分:0)
序列化程序可以获得视图。
-