Guest User

Untitled

a guest
Feb 22nd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. @RestController
  2. public class RestPersonController implements PersonApi {
  3.  
  4. @Autowired
  5. private PersonService personService;
  6.  
  7. @Autowired
  8. private ObjectMapper objectMapper;
  9.  
  10. @Override
  11. @GetMapping(path = "/persons")
  12. public ResponseEntity<List<Person>> getPersons(
  13. @RequestParam(required = false) String fields) {
  14.  
  15. List<Person> persons = this.personService.getPersons();
  16.  
  17. // Filter fields
  18. if (StringUtils.isNotBlank(fields)) {
  19. configureFilter(fields);
  20. }
  21.  
  22. return ResponseEntity.status(HttpStatus.OK).body(persons);
  23. }
  24.  
  25. private void configureFilter(String fields) {
  26. String[] propertiesToExclude = { fields };
  27. objectMapper.addMixIn(EtkInfo.class, EtkInfoDynamicFilterMixIn.class);
  28. FilterProvider filterProvider = new SimpleFilterProvider().
  29. addFilter("dynamicFilter", SimpleBeanPropertyFilter.serializeAllExcept(propertiesToExclude));
  30.  
  31. objectMapper.setFilterProvider(filterProvider);
  32. }
  33. }
  34.  
  35. @Override
  36. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  37. converters.add(new MappingJackson2HttpMessageConverter(objectMapper()));
  38. }
  39.  
  40. @Bean
  41. public ObjectMapper objectMapper() {
  42. return Jackson2ObjectMapperBuilder.json().build();
  43. }
Add Comment
Please, Sign In to add comment