JSON 속성명 타입 설정하기
application.properites에서
spring.jackson.property-naming-strategy=SNAKE_CASE
참고자료: https://itmining.tistory.com/148
오늘 한일
- JK의 수업 소프트웨어 공학 기억하고 싶은 내용들
- 소프트웨어 개발자는 바뀌는거에대해 수정하는게 운명이다. 피할수 없다.
- 애자일 방법론: 분석,설계,개발,테스팅 이 과정을 단위를 작게잡고, 자주한다. 실패하면 롤백하는것도 더 쉽고 점진적으로 개선한다.
- 한번에 완벽한 코드를 만들필요없다. 점진적으로 개선한다.
- 유연한 설계를 강조하는 이유는 비록 지금 프로젝트는 복잡한 프로젝트가 아니지만 현업에서 필요하기 때문이다. 리뷰어들이 유연한 설계를 강조하는 이유이다.
- 완벽하고 복잡하게 전부 고민해서 설계하지말고, 당장 필요한 기능만으로 최대한 간결하게 만든다.
- 앞으로는 테스트코드 꼭 작성해서 내코드가 왜 돌아가는지 알자.
- Dion에게 피드백 받은 부분 수정했다. DTO를 JSON 형태로 반환할때 속성명을 스네이크 케이스로 나타나게 API설계를 해서 두 단어 이상인 속성에 @JsonProperty 어노테이션을 달았다. 디온이 전체적인 설정을 변경할 수 있다고 해서 검색해보니 application.properties에 spring.jackson.property-naming-strategy=SNAKE_CASE로 설정하면 되었다.
- 내가 필요한 자료 검색하는 것도 아직 잘 못하는거 같다. 처음에 엉뚱한 자료로 프로젝트에 적용하려해서 약간 삽질했다.
- DB와 객체 설계가 아쉽다고 하셔서 Badge, ThumbImage, Price, DetailImage 클래스를 만들고 테이블도 생성해서 Dish와 관계를 맺도록 했다. 이걸 연습해보니깐 테이블의 관계설정에 대해 더 알거 같기도 하고..
- 빌드패턴도 처음으로 적용해봤다. 근데 도메인 클래스, DTO, Builder 모두 필드가 많이 겹치는데 이걸 하나의 추상클래스로 만들어서 도메인, DTO, Builder 클래스가 다 사용하는게 괜찮은걸까? 디온이 필드를 연관성 높은거끼리 클래스로 모으라했는데 한번 생각해봐야겠다.
- 알고리즘 스터디, 백준 럭키스트레이트, 뒤집기 문제는 잘 풀었는데 공유기 문제 너무 어려웠다. 바이너리서치 문제라는데 공부해봐야지