0

我只想在某些情况下应用@JsonIgnore。

例如,在一种情况下,我可能只需要测试对象而不是测试中的所有问题。但在其他情况下,我可能还需要通过使用 @JsonManagedReference

class Test{
      private string testName; 
      @ManyToOne(fetch=FetchType.LAZY)
  @JoinColumn(name="abc")
      @JsonIgnore
      private Set<question> question;
 }
4

1 回答 1

1

试试@JsonView。它允许您基于在序列化期间提供的视图(标记类)有条件地包含/抑制属性。

class Test {
    private String testName;

    @JsonView(SomeCondition.class)
    private Set<Question> questions;
}

@GET
@Path("/testWithCondition")
@JsonView(SomeCondition.class)
public Response getTestWithCondition() {
    Test test = testService.lookupTest();
    return Response.ok(test).build();
}

注意:您可能必须在 ObjectMapper 上禁用 MapperFeature.DEFAULT_VIEW_INCLUSION。

于 2014-01-22T18:03:16.557 回答