Hỏi & Đáp
HATEOAS 질문
감사합니다!!
- Lượt thích
- 0
- Số bình luận
- 5
- Lượt xem
- 660
Hỏi & Đáp
감사합니다!!
Hỏi & Đáp
아하.. 답변 감사합니다!! 저는 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) ; }