게시글
질문&답변
2020.06.18
HATEOAS 질문
감사합니다!!
- 0
- 5
- 493
질문&답변
2020.06.12
HATEOAS 질문
아하.. 답변 감사합니다!! 저는 JsonFilter 적용시켜보고 싶어서 아래처럼 코드를 짯는데 다른 방법이 있을까요??? Resorce 를 반환값으로 하려니까 오류가 나더라구요.. @GetMapping("/users/{id}")public ResponseEntity retrieveUser(@PathVariable int id, HttpServletRequest request){ User user = service.findOne(id); if(user == null) { throw new UserNotFoundException(String.format("ID[%s] not found", id)); } // HATEOAS //retrieveAllUsers 메소드(/users)를 "all-user" 와 연결 Resource resource = new Resource(user); /* ControllerLinkBuilder linkTo = ControllerLinkBuilder.linkTo( ControllerLinkBuilder.methodOn(this.getClass()).retrieveAllUsers()); */ resource.add(new Link(request.getRequestURL().toString()).withSelfRel()); resource.add(linkTo(methodOn(UserController.class).retrieveAllUsers()).withRel("all-users")); SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter //아래의 필드들을 가져온다. JsonIgnore 되어있는 경우 가져오지 않음. .filterOutAllExcept("id", "name", "joinDate"); FilterProvider filters = new SimpleFilterProvider().addFilter("UserInfo", filter); MappingJacksonValue mapping = new MappingJacksonValue(resource); mapping.setFilters(filters); return ResponseEntity.ok(mapping);}
- 0
- 5
- 493