Verwenden Sie @JsonView, um (wie @JsonIgnore) mit dem Standard-Json-Writer von Play Frameworks auszuschließen?

Es scheint, dass Sie @JsonIgnore und @JsonView nicht mischen können. Ich möchte ein Feld standardmäßig ausblenden, es aber in einigen Fällen anzeigen.

rundsätzlich habe ich folgendes Setup: -

class Parent extends Model {
  public Long id;
  public Child child;
}

class Child extends Model {
  public Long id;
  @JsonView(Full.class)
  public String secret;

  public static class Full {};
}

Und möchte @ verwendplay.libs.Json.toJson(parent), um WITHOUT child.secret zu rendern, und

    ObjectMapper objectMapper = new ObjectMapper();
    ObjectWriter w = objectMapper.writerWithView(Child.Full.class);
    return ok(w.writeValueAsString(child));

Um WITH child.secret zu rendern. Gibt es eine Möglichkeit, dies zu tun? d.h. gibt es eine Möglichkeit, ein Feld so einzustellen, dass es standardmäßig ignoriert wird, aber in einem bestimmten JsonView enthalten ist?

erzeit enthalten BEIDE Anrufe das Geheimni

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage