[Java] record는 뭐야?
·
Java
record 등장 ?!❓Java 14에 처음 등장❗️Java 16부터 정식✅ Java 21에서 거의 주력으로 자리잡은 record. record에서 간략하게 알아보자.setter ❌getter, 생성자, equals, hashCode, toString 자동생성final 필드로 수정 ❌ (불변객체)직렬화 가능Swagger 문서화 도구 사용 가능 ✅ 겉으로 보이는 차이점: 일반 객체(DTO)와 record 비교일반 객체(DTO)와 비교해보자.생성자명시적으로 작성해야 함자동 생성 (canonical constructor)getter직접 생성 or Lombok 필요자동 생성setter직접 생성 or Lombok 필요❌ 없음 (불변)equals/hashCode/toString수동 or Lombok 필요자동 생성필..
REST API에서 요청 DTO를 매번 만들어야 하나?
·
Java
@ SpringBoot@ JDK 21 REST API에서 요청 DTO를 매번 만들어야 하나?왜 요청 DTO를 쓰는가?REST API를 처음 설계할 때, 객체를 남발하는 느낌과 굳이 필요한가? 만약, 하나의 요청값만 있다면 너무 too much 아닌가? 라는 생각이 들었다. 다만, 결론만 생각해본다면 DTO는 많은게 맞고, 그만큼 얻는게 많다는 것이다.도메인을 외부 API에 노출하지 않는다.(API 안정성 증가)도메인과 분리되어 결합도를 낮춰 개발 영향도가 적다.    DTO 클래스에 검증 어노테이션 등을 사용해서 간결하게 처리 가능하다.위 내용을 토대로 유지 보수 관점에서도 좋다. 그래도 너무 많고 아무리 DTO를 권장해도 파일이 너무 많거나 정리를 못하여 복잡해진다면대안법으로 사용할 만한 방법이 몇가지..