Код: Выделить всё
public class JsonService {
private static final ObjectMapper mapper = new ObjectMapper();
public JsonService(Map filterFields) {
SimpleFilterProvider filterProvider = new SimpleFilterProvider();
filterFields.forEach((filter, fields) -> {
filterProvider.addFilter(filter,
SimpleBeanPropertyFilter.filterOutAllExcept(fields));
});
mapper.setFilterProvider(filterProvider);
}
public String getJsonByFilter(T pojo) throws JsonProcessingException {
return mapper.writer().writeValueAsString(pojo);
}
}
I не уверен, что применил передовую практику, и у меня есть несколько вопросов:
- Правильно ли добавлены несколько фильтров?
- Что лучше использовать: создать несколько ObjectMapper со своим отдельным фильтром (поместить их в карту и получить по имени фильтра) или добавить фильтры в один ObjectMapper?
- Есть ли еще что-нибудь, на что следует обратить внимание, если этот класс будет использоваться несколькими потоками одновременно?
Подробнее здесь: https://stackoverflow.com/questions/785 ... nt-classes