REST API 필터링

Rae-eun Yang·2024년 7월 7일
0

직렬화?

객체를 스트림으로 전환하는 프로세스
Entity 모델이나 List를 JSON 또는 XML 형식으로 변환 = 직렬화하는것
가장 대표적인게 Jackson 프레임워크

-> REST API로 정보를 띄울때 JSON의 필드를 Jackson의 @JSONProperty 어노테이션을 사용해서 커스터마이징 가능

정적 필터링

유저 엔티티를 JSON으로 내칠때, 비밀번호같은 필드는 엔티티 클래스의 @JSONIgnore 하면 안보임
또는 @JsonIgnoreProperties({"필드1", "필드2", ...})을 클래스에 붙이면 됨
@JSONIgnore 사용하는게 좋다! 필드 이름 바꾸게 되는 상황에서 편함

동적 필터링

엔티티 클래스 말고, 컨트롤러에 직접 필터링 적용
그러면 같은 엔티티를 반환하는 상황에서 컨트롤러마다 다른 필터를 적용할 수 있음
MappingJacksonValue와 SimpleBeanPropertyFilter사용하여 필터 객체에 필터링 로직들을 추가
필터링 로직을 추가한 필터 객체를 @JacksonFilter("필터이름")을 사용하여 엔티티에 적용

profile
ContentsDev Manager

0개의 댓글