inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

minsu님의 게시글

minsu minsu

@mu16160159

수강평 작성수
1
평균평점
5.0

게시글 2

질문&답변

HATEOAS 질문

감사합니다!!

좋아요수
0
댓글수
5
조회수
664

질문&답변

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
조회수
664