// GET /admin/users/1 -> /admin/v1/users/1 // @GetMapping("/v1/users/{id}") // @GetMapping(value="/users/{id}", params="version=1" ) //@GetMapping(value = "/users/{id}", headers = "X-API-TEST-VERSION=1") @GetMapping(value = "/users/{id}", produces = "application/vnd.myTest.appv1+json") public MappingJacksonValue retrieveUserV1(@PathVariable int id){ User user =service.findOne(id); if(user==null){ throw new UserNotFoundException(String.format("ID[%s] not found", id)); } SimpleBeanPropertyFilter filter =SimpleBeanPropertyFilter.filterOutAllExcept("id","name", "joinDate", "ssn"); FilterProvider filters =new SimpleFilterProvider().addFilter("UserInfo", filter); MappingJacksonValue mapping =new MappingJacksonValue(user); mapping.setFilters(filters); return mapping; } // GET /admin/users/1 -> /admin/v2/users/1 // @GetMapping("/v2/users/{id}") // @GetMapping(value = "/users/{id}", params = "version=2") //@GetMapping(value = "/users/{id}", headers = "X-API-TEST-VERSION=2") @GetMapping(value = "/users/{id}" , produces = "application/vnd.myTest.appv2+json") public MappingJacksonValue retrieveUserV2(@PathVariable int id){ System.out.println("MappingJacksonValue V2=========================> "); User user =service.findOne(id); if(user==null){ throw new UserNotFoundException(String.format("ID[%s] not found", id)); } //User -> User2 UserV2 userV2=new UserV2(); BeanUtils.copyProperties(user, userV2); //id, name, joinDate, password, ssn userV2.setGrade("VIP"); SimpleBeanPropertyFilter filter =SimpleBeanPropertyFilter.filterOutAllExcept("id", "name", "joinDate", "grade"); FilterProvider filters =new SimpleFilterProvider().addFilter("UserInfo2", filter); MappingJacksonValue mapping =new MappingJacksonValue(userV2); mapping.setFilters(filters); return mapping; }
댓글 ( 4)
댓글 남기기