Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @RestController
- public class RestPersonController implements PersonApi {
- @Autowired
- private PersonService personService;
- @Autowired
- private ObjectMapper objectMapper;
- @Override
- @GetMapping(path = "/persons")
- public ResponseEntity<List<Person>> getPersons(
- @RequestParam(required = false) String fields) {
- List<Person> persons = this.personService.getPersons();
- // Filter fields
- if (StringUtils.isNotBlank(fields)) {
- configureFilter(fields);
- }
- return ResponseEntity.status(HttpStatus.OK).body(persons);
- }
- private void configureFilter(String fields) {
- String[] propertiesToExclude = { fields };
- objectMapper.addMixIn(EtkInfo.class, EtkInfoDynamicFilterMixIn.class);
- FilterProvider filterProvider = new SimpleFilterProvider().
- addFilter("dynamicFilter", SimpleBeanPropertyFilter.serializeAllExcept(propertiesToExclude));
- objectMapper.setFilterProvider(filterProvider);
- }
- }
- @Override
- public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
- converters.add(new MappingJackson2HttpMessageConverter(objectMapper()));
- }
- @Bean
- public ObjectMapper objectMapper() {
- return Jackson2ObjectMapperBuilder.json().build();
- }
Add Comment
Please, Sign In to add comment