본문 바로가기

강의 내용 정리/Spring Boot를 이용한 RESTful Web Services 개발

4-5 ~ 4-7. @JsonIgnore, @JsonFilter

================================== 4-5. Response 데이터 제어를 위한 Filtering

 

 

User 도메인에 중요하게 다루는 password, ssn 을 추가.

초기화도 추가.

password, ssn도 출력되는데 이런 정보 제어해보자!

 

 

스프링부트에서 JSON 데이터를 다루기 위한 어노테이션 @JsonIgnore

 

 

User.java

User 도메인에 숨기고 싶은 필드에 @JsonIgnore 붙이자 싹 다 없어짐.

 

 

User.java

이렇게도 가능하다. !

 

 

 

 

================================== 4-6. 프로그래밍으로 제어하는 Filtering 방법 - 개별 사용자 조회

목적 : AdminUserController를 만들어서 관리자가 회원조회 ( password, ssn 까지 ) 하게 만들자.

( 일반 UserController 는 저 두 필드는 못 봄 )

 

@JsonFilter("UserInfo")  : UserInfo는 필터이름.

 

 

 

 

 

 

# AdminUserController 변경 사항

1. UserController에서 카피, 조회메서드 두 개만 남김.
2. @RequestMapping("/admin")

 

AdminUserController.java

addFilter("UserInfo", filter); 

여기서 UserInfo 라는 JsonFilter가 선언되어있는 도메인을 사용한다 . (=User 도메인)

현재 /users/1은 500오류가 난다. -> Versioning 때 수정.

( 이 때 name안나온 이유는 띄어쓰기 들어가있음 )

 

 

 

 

========================================== 4-7. 프로그래밍으로 제어하는 Filtering 방법 - 전체 사용자 조회


 

 

 

사용자 한 명 찾기 메서드에서 

38line에 List인 users로만 바뀌었다. 그리고 mapping 반환

 

 

지금까지 위에 " name" 이라고 입력해서 name필드가 출력되지 않았었다. ( 앞에 띄어쓰기 )

 

이런거 조심하자.

 

Recent Posts
Popular Posts
Recent Comments