본문 바로가기
IT/Spring

2021-09-09-JSON Naming

by 봉즙 2023. 2. 28.

layout : post
title : "JSON naming"

category : Spring

Spring에서 기본 설정으으로 모델을 만들고 Reponse를 확인해보면 camelCase가 적용되어 있는 것을 볼수 있다.

application.properties

SpringBoot에서 application.properties에 아래의 설정을 추가 해 준다

spring.jackson.property-naming-strategy=LOWER_CAMEL_CASE

LOWER_CAMEL_CASE, LOWER_CASE, KEBAB_CASE 등을 설정해주면 전체적으로 적용이 된다.

JasonBuilder

public class Jackson2ObjectMapperBuilder {
    @Bean 
    public Jackson2ObjectMapperBuilder jacksonBuilder() {
        Jackson2ObjectMapperBuilder b = new Jackson2ObjectMapperBuilder();
        b.propertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE);
        return b;
    }
}

JsonProperty

@Data
public class Student {

    @JsonProperty("my_name")
    private String myName;

    @JsonProperty("my_age")
    private String myAge;

    @JsonProperty("my_country")
    private String myCountry;

}

JsonNaming (Deprecated)

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@Data
public class Student {
    private String myName;
    private String myAge;
    private String myCountry;
}

@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)를 붙여주면 변경할 수 있으나

현재 위의 방법은

https://github.com/FasterXML/jackson-databind/issues/2715

멀티 스레드 환경에서 문제로 Deprecated 되었다.

'IT > Spring' 카테고리의 다른 글

2021-09-30-JPA 관계 찾지 못하는 경우  (1) 2023.02.28
2021-09-09-WebClient  (0) 2023.02.28
2021-09-01-flyway  (0) 2023.02.28
2021-08-23-EntityGraph  (0) 2023.02.28
2021-07-27-Swagger  (0) 2023.02.28

댓글