본문 바로가기
Spring/Spring-detail

@JsonIgnore 와 @JsonIgnoreProperties

by YoonJong 2022. 7. 8.
728x90

@JsonIgnore 와 @JsonIgnoreProperties 

클라이언트에게 JSON 데이터를 넘겨줄 때, 해당 객체의 값을 

보이지 않게 하는 어노테이션이다.

 

예를들어, GET 요청으로 User 정보를 요청했는데, 비밀번호나 주민등록번호 등 보안에 민감한 사항을 제외하고 싶을 때 사용한다.


@JsonIgnore

사용해서 클라이언트에게 응답할 때 제외하고 데이터를 보내주려고 한다.

비밀번호와 주민등록번호 객체를 추가해주었다.

 

아직 데이터베이스를 연결하지 않아서...

초기실행시 static 블럭을 통해 3명의 유저를 추가해주었었는데, 생성자에 비밀번호와 주민등록 번호도 같이 넣어줬다.

 

포스트맨에서 GET 요청으로 모든 유저정보를 요청해보았다.

JSON 형식으로 된 응답 데이터를 보면 @JsonIgnore 붙인 변수는 나타나지 않는다.

 


@JsonIgnoreProperties 또한 같은 기능을 제공한다.

차이점은 각각의 변수위에 붙이는 것이 아닌 클래스 이름 위에 붙이면 된다.

또한 여러 변수를 제외하고 싶을 경우 배열형식을 통해 제외시킬 수 있다.

만약 ssn 변수만 제외하고 싶다면 value = { "ssn" } 으로 작성해주면 된다.

포스트맨 결과는 똑같이 나오는 것을 볼 수 있다.

 

 


근데 디버그 모드로 하고 요청하면 콘솔창에는 정보가 찍힌다..

클라이언트에게는 안보이고, 콘솔창에만 보이니까 상관은 없는 것 같다..

728x90

'Spring > Spring-detail' 카테고리의 다른 글

assertThrows 예외 테스트  (0) 2022.08.21
assertThatThrownBy 테스트  (0) 2022.08.17
테스트 케이스 설정 방법 - Memory DB 사용하기  (0) 2022.08.17
@Profile 활용하기  (0) 2022.07.21
log(로그,로깅)  (0) 2022.06.08

댓글