Bepoz
파즈의 공부 일기
Bepoz
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • 공부 기록들 (85)
      • 우테코 (17)
    • Spring (85)
    • Java (43)
    • Infra (17)
    • 책 정리 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Bepoz

파즈의 공부 일기

[Spring] @JsonFilter 를 이용한 필드값 필터링하기
Spring

[Spring] @JsonFilter 를 이용한 필드값 필터링하기

2020. 9. 16. 17:16

이름, 가입일자, 비밀번호, 주민번호를 가진 User 클래스를 api가 요청한 상황에서

비밀번호와 주민번호는 보여주기 싫은 경우에 해당 필드위에 @JsonIgnore 이라는 어노테이션을 사용하거ㅏ

클래스에 @JsonIgnoreProperties(value={"password","ssn"}) 등을 이용하여 응답을 무시할 수 있다.

 

이렇게 특정 필드만 보여주고 싶을 때에 @JsonFilter 어노테이션을 사용할 수 있다.

다음과 같이 User 라는 도메인이 존재하고 해당 클래스에 필터를 처리하고 싶을 때에

@JsonFilter("필터명") 을 선언 해준다.

그리고 api가 정의되어 있는 해당 코드에서 세부 처리를 해주면 된다.

SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter.filterOutAllExcept()로 보여줄 필드만 정의를 한다.

serializeAllExcept() 를 통해서 제외시킬 필드를 정의할 수도 있다.

 

SimpleFilterProvider.addFilter("정의해준 JsonFilter 필터명", 위의 필터명)  으로 필터 등록을 하고

 

MappingJacksonValue에 json 형태로 리턴해줄 object value를 적어주고 필터를 추가해준 다음에 return 해주면 된다.

 

물론 다음과 같이 list 형태도 동일하게 처리해주면 된다.

'Spring' 카테고리의 다른 글

[Spring] @Autowired 생성자 주입방법에 대해서  (0) 2020.09.18
[Spring] ResponseEntity에 대해서  (0) 2020.09.18
[Spring] @Valid 를 이용한 Exception처리와 ThymeLeaf 처리  (0) 2020.09.15
[Spring] @ControllerAdvice를 이용한 Exception custom 처리하기  (0) 2020.09.15
[Spring] @ResponseStatus 를 이용해 예외 상태 변경하기  (0) 2020.09.15
    'Spring' 카테고리의 다른 글
    • [Spring] @Autowired 생성자 주입방법에 대해서
    • [Spring] ResponseEntity에 대해서
    • [Spring] @Valid 를 이용한 Exception처리와 ThymeLeaf 처리
    • [Spring] @ControllerAdvice를 이용한 Exception custom 처리하기
    Bepoz
    Bepoz
    https://github.com/Be-poz/TIL

    티스토리툴바