RequestBody DTO init 예외가 HttpMessageNotReadableException 으로 래핑되는 문제
@RequestBody 바인딩 과정에서 DTO init 사용시 주의할점을 정리해 봅니다.
커스텀 예외가 Spring MVC의 메시지 컨버터 단계에서
HttpMessageNotReadableException으로 포장되기 때문에, 원래 의도한 예외 핸들링이 동작하지 않는다.
DB column varchar 속성의 경우 대소문자 구분시 인코딩 방식 주의하기
MySQL의 VARCHAR 컬럼은 Collation 설정에 따라 대소문자를 구분하거나 구분하지 않는다.
의도치 않은 중복 저장 또는 조회 누락을 방지하려면 적절한 Collation 설정이 필요하다.
OpenFeign 사용시 긴 URL 로 인한 에러 대응
FeignClinet 를 통한 요청시 url 길이에 주의해야한다.
@RequestParam,pathvariable을 통한 요청길이가 너무 길어진경우 4xx 에러를 받을 수 있다.
기대를 버려야 관계가 편해진다는 거짓말
남과 상황을 내 관점에서만 보고 판단하지 않으려 노력하자
Kotlin 에서 우아하게 Logger 사용하기
확장 함수로 로거 생성시 발생하는 보일러플레이트 코드를 제거해봅니다.
확장 함수(Extension Function)와 Reified Generic을 활용하여 로거(Logger) 생성을 간소화 해봅니다.
Index 로 인해 의도치 않은 정렬이 이루어질 수 있다.
Index 를 이용해 데이터를 조회할때 자동 정렬되는 케이스를 알아봅니다.
조회할때 정렬조건을 명시하지 않는경우, Index 조회 컬럼으로 오름차순 정렬이 될수 있습니다.