API를 설계하다 보면 서버에서 요청 값으로 설계한 Request DTO의 네이밍과 클라이언트 쪽에서 요청하는 Json 네이밍이 간혹 다른 경우가 발생합니다. 이런 경우에 Json 데이터를 DTO 객체에 매핑하는 과정에서 key값이 일치하지 않아 매핑되지 않는 문제가 발생하게 되는데요. 이때 @JsonProperty, @JsonNaming 어노테이션을 사용하면 문제를 해결할 수 있습니다. @JsonProperty 아래는 서버에서는 카멜케이스를 사용하지만 클라이언트 쪽에서는 언더바를 이용하여 요청을 한 코드이다. //Json 요청 예시 { "post_name": "nori", "post_content": "zzang", "category": "FREE" } @Data public class WriteRe..
스프링부트 프로젝트 생성 시 무심코 사용했던 Spring Initializr에 대해서 알아보도록 하겠습니다. Spring Initializr Spring Initializr는 https://start.spring.io/ 에서 사용 가능하며, 스프링부트 기반으로 스프링 관련 프로젝트를 쉽게 만들 수 있습니다. [ Project ] 프로그램을 만들다 보면 단순히 자신이 작성한 코드만으로 개발하는 것이 아니라 많은 라이브러리들을 활용해서 개발하게 됩니다. 이때 사용되는 라이브러리들의 수가 수십 개가 넘어가다 보면 관리하는데 어려움이 있습니다. 이런 문제점들을 해결해주기 위한 도구라고 이해하면 되겠습니다. 과거에는 Maven을 많이 사용했지만 최근에는 Gradle을 사용하는 추세임으로 다른 이유가 없다면 Gra..