java

[java] 어노테이션 정리

JH..Y 2021. 10. 26. 01:49
728x90

직렬화란 객체를 전송가능한 형태로 말아주는걸 의미하고 

역직렬화란 그 데이터들을 다시 자바 객체로 변환해주는 것으로 이해

  • @jsonalias - 역직렬화를 할 때 한 개 이상의 이름을 한 객체 필드에 매핑되게 설정할 수 있다
    @Data
    public class Member(){
    
    	@JsonAlias({
        		"test", "test2"
        	})
    	private String test;
    
    }​
     

---------------------------------------------------------------------------------------------------------------------------------

 

Json 형식으로 데이터를 주고받을 때 Jackson의 ObjectMapper를 자주 이용한다. 이를 Serialize할 때 원하는 값만을 포함시킬 수 있다. 그런데 기본값으로 Serialize 하게 되면 null, "" 같은 (상황에 따라) 필요 없는 값 또한 모두 변환시켜준다.

  • @Jsoninclude(value = include.NON_NULL) - null 값은 제외시켜준다.
    @Data
    @JsonInclude(value = Include.NON.NULL) // name, phoneNum, addr 중 null 들어갈 경우 response값에서 제외
    public calss Student(){
        private String name;
        private String phoneNum;
        private String addr;
    }​
728x90