Lombok @Builder로 특정 프로퍼티만 변경된 불변 객체 생성하기
불변 객체는 상태 관리가 쉬우며 thread-safe하다는 장점이 있기 때문에 자주 사용됩니다. Java에서 14버전부터 도입된 Record로 쉽게 불변 객체 생성 가능 하지만 불변 객체의 특성상 Setter를 사용할 수 없기 때문에 특정 프로퍼티만 변경된 새로운 객체를 생성할 때 수고스러움이 존재합니다. 예를 들어 Client Cre...
불변 객체는 상태 관리가 쉬우며 thread-safe하다는 장점이 있기 때문에 자주 사용됩니다. Java에서 14버전부터 도입된 Record로 쉽게 불변 객체 생성 가능 하지만 불변 객체의 특성상 Setter를 사용할 수 없기 때문에 특정 프로퍼티만 변경된 새로운 객체를 생성할 때 수고스러움이 존재합니다. 예를 들어 Client Cre...
비즈니스 로직을 구현하다 보면, 정상적인 흐름도 존재하지만 Exception을 발생시켜야 하는 상황이 생깁니다. 또한 I/O Exception 등을 처리하지 않게 된다면 500 에러가 발생하므로 잡아주는 작업이 필요합니다. 이번 시간에는 Exception을 보다 효율적으로 핸들링할 수 있도록 Custom Exception을 만들고 Exception...
백엔드를 개발하다 보면 MSA 환경에서 타 Service의 리소스를 요청하거나 Open API를 사용하는 등, 타 Server로 API 호출은 자주 이뤄집니다. 따라서 HTTP 클라이언트는 자주 사용되는, 서버 개발에 필수적인 요소입니다. Java 기반인 Spring Framework를 사용하는 경우 다음 HTTP 클라이언트 라이브러리를 고려할 수...