개발자가 되고 싶은 개발자

[Spring] @RequestBody로 받아온 데이터가 null일 때 본문

Dev/Java & Spring

[Spring] @RequestBody로 받아온 데이터가 null일 때

Fullth 2021. 11. 18. 19:26

 

이미지 출처: http://clipsoft.co.kr/wp/blog/스프링-프레임워크-다국어-처리/

상황

API를 호출하여 컨트롤러에서 @RequestBody 어노테이션을 사용하여 데이터를 받아왔습니다.

하나의 데이터를 제외한 나머지는 정상적으로 받아오고, 특정 값만 받아오지 못하여 문제가 되었습니다.

 

해결책

"Spring mvc uses jackson to parse json by default.
It is guessed whether the field name of the entity class is changed when the field name is converted to json."

Spring은 json파싱을 위해 기본값으로 jackson 라이브러리를 사용한다고 합니다.

 

필드명을 아래와 같은 형태로 작성하게 되면 IDE혹은 Lombok에서 자동생성해주는 Getter/Setter의 메소드명은

카멜케이스와 맞지 않게 됩니다.

 private String tTestField;
 
 private String TTestField;

제 경우도 인텔리제이에서 생성해준 Getter때문에 발생한 문제였고 필드명을 수정하여 해결하였습니다.

 

필드명을 수정하고 싶지 않은 경우에는 다음과 같이 직접 프로퍼티 명을 명시하여 해결할 수 있습니다.

@JsonProperty(value = "tTestField")
public String getTTestField() {
	return tTestField;
}

 

'Dev > Java & Spring' 카테고리의 다른 글

[Java] JVM 메모리 구조  (0) 2022.01.01
[Java] Comparator  (0) 2021.12.24
[Spring] Spring Batch  (0) 2021.11.06
[Java] Stream  (0) 2021.10.05
[Log4j2] Log4j2- PatternLayout  (0) 2021.10.05