================================== 4-5. Response 데이터 제어를 위한 Filtering
User 도메인에 중요하게 다루는 password, ssn 을 추가.
초기화도 추가.
password, ssn도 출력되는데 이런 정보 제어해보자!
스프링부트에서 JSON 데이터를 다루기 위한 어노테이션 @JsonIgnore
User 도메인에 숨기고 싶은 필드에 @JsonIgnore 붙이자 싹 다 없어짐.
이렇게도 가능하다. !
================================== 4-6. 프로그래밍으로 제어하는 Filtering 방법 - 개별 사용자 조회
목적 : AdminUserController를 만들어서 관리자가 회원조회 ( password, ssn 까지 ) 하게 만들자.
( 일반 UserController 는 저 두 필드는 못 봄 )
# AdminUserController 변경 사항
1. UserController에서 카피, 조회메서드 두 개만 남김.
2. @RequestMapping("/admin")
addFilter("UserInfo", filter);
여기서 UserInfo 라는 JsonFilter가 선언되어있는 도메인을 사용한다 . (=User 도메인)
현재 /users/1은 500오류가 난다. -> Versioning 때 수정.
( 이 때 name안나온 이유는 띄어쓰기 들어가있음 )
========================================== 4-7. 프로그래밍으로 제어하는 Filtering 방법 - 전체 사용자 조회
사용자 한 명 찾기 메서드에서
38line에 List인 users로만 바뀌었다. 그리고 mapping 반환
지금까지 위에 " name" 이라고 입력해서 name필드가 출력되지 않았었다. ( 앞에 띄어쓰기 )
이런거 조심하자.
'Java, Spring > Spring Boot를 이용한 RESTful Web Services 개발' 카테고리의 다른 글
5-1 ~ 5-6. 스프링부트가 제공하는 API관련 유틸리티 ( HATEOAS, Swagger, Actuator) (0) | 2022.08.24 |
---|---|
4-8 URI를 이용한 REST API Version 관리~ 4-9 Request Parameter와 Header, MIME type을 이용한 API Version 관리 (0) | 2022.08.23 |
4-1 ~ 4-4 validation, 다국어처리, xml반환 (0) | 2022.08.22 |
3.5 ~ 3.7 (0) | 2022.08.22 |
2-7. DispatcherServlet과 프로젝트 동작의 이해 ~ 3.4 (0) | 2022.08.22 |