1つのコントローラでのみいくつかの属性をフィルタリングする必要があります。JsonFilterでフィルターされた帰属属性をSpring Controllerに含めるにはどうすればよいですか?
Fasterxml JsonFilterは私が
のようなオブジェクトを使用すると
FilterProvider filter2 = new SimpleFilterProvider().addFilter("somefilter",
SimpleBeanPropertyFilter.filterOutAllExcept("prop1","prop2"));
をたどるように、コントローラにObjectMapperとそれを使用したときに動作しますが、春のコントローラ
@RequestMapping(value = "/path", method = RequestMethod.GET)
protected @ResponseBody Foo handleGet(..
と同じオブジェクトを返すようにしようとしたとき
public class Foo{
Bar p1;
Bar p2;
}
Bar属性は完全に省略されています。この場合、オブジェクトをフィルタ処理なしで返す必要があります。
オブジェクト全体を返すためにコントローラのオブジェクトマッパーを使用する必要があります。
コントローラのフィルタを無効にする方法はありますか?
あなたは、シリアル化されるBarオブジェクトのいくつかのフィールドをスキップしようとしていますか? –
はい、ObjectMapperを使用すると、シリアライズをスキップします。しかし、コントローラ内のすべてをシリアル化してください。 –
コントローラがそれを使用するとき、フィールドを表示しますか?申し訳ありませんが、以前のコメントを編集することはできません。 –