Ich muss einige Attribute nur in einem Controller filtern.Wie wird mit JsonFilter im Frühjahr Regler zugeordnet gefiltert?
Fasterxml JsonFilter funktioniert, wenn ich es mit ObjectMapper in der Steuerung verwendet als
FilterProvider filter2 = new SimpleFilterProvider().addFilter("somefilter",
SimpleBeanPropertyFilter.filterOutAllExcept("prop1","prop2"));
Mit Objekt folgen wie
@JsonFilter("somefilter")
public class Bar{
String prop1;
String prop2;
String prop3;
}
Aber wenn man versucht, das gleiche Objekt mit Feder Controller zurückzukehren
@RequestMapping(value = "/path", method = RequestMethod.GET)
protected @ResponseBody Foo handleGet(..
wo
public class Foo{
Bar p1;
Bar p2;
}
Das Attribut Bar wird komplett weggelassen. In diesem Fall müssen wir das Objekt ungefiltert zurückgeben.
Ich muss den Objekt-Mapper in der Steuerung verwenden, um das gesamte Objekt zurückzugeben.
Gibt es eine Möglichkeit, den Filter für den Controller zu deaktivieren?
Sie meinen, Sie versuchen, einige Felder auf Ihrem Bar-Objekt zu serialisieren zu überspringen? –
Ja, überspringen Sie die Serialisierung, wenn ObjectMapper verwendet wird. Aber serialisieren Sie alles in der Steuerung. –
Und wenn der Controller es verwendet, möchten Sie die Felder anzeigen? Entschuldigung, ich kann meinen vorherigen Kommentar nicht bearbeiten. –