Spring Boot: JSON 클래스 만들때 알아두면 좋을 설정

김아무개·2023년 5월 3일
0

Spring Boot 🍃

목록 보기
7/95
post-thumbnail

1. 해당 클래스의 모든 변수에 대해 네이밍 방식 변경

@JsonNaming(value = PropertyNamingStrategies.네이밍규칙.class)

@JsonNaming(value = 여기 )

외우면 당연히 더 좋겠지만 ,
여기 라고 적은 부분에 커서를 두고 Ctrl + Space 누르면 제공되는 클래스 확인이 가능하다.

이렇게 확인하면 SnakeCase로 변경하는 것만 확인이 되는데 (나만 그럴지도..!!!)
더 많은 규칙을 사용하려면 PropertyNamingStrategies. + Ctrl + Space 입력 해서 보면 된다.

PropertyNamingStrategies 클래스에서 다양한 형태의 네이밍 변환 클래스를 제공한다.

PropertyNamingStrategies에서 제공되는 다양한 규칙들 🔻

@JsonNaming(value = PropertyNamingStrategies.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
class PutDTO {
    private String name;
    private int abc;
    
    @JsonProperty("_car_list")
    private List<CarDTO> carList;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAbc() {
        return abc;
    }

    public void setAbc(int abc) {
        this.abc = abc;
    }

    public List<CarDTO> getCarList() {
        return carList;
    }

    public void setCarList(List<CarDTO> carList) {
        this.carList = carList;
    }

    @Override
    public String toString() {
        return "PutDTO{" +
                "name='" + name + '\'' +
                ", abc=" + abc +
                ", carList=" + carList +
                '}';
    }
}

2. json 값 받아올 때 null, not null, not empty 등등 관련 설정

@JsonInclude() 어노테이션 설정


3. 클래스 내에서 변수 일부 몇개만 이름을 변경해서 받아오고 싶은 경우

@JsonProperty("받을때 사용할 이름")

profile
Hello velog! 

0개의 댓글