"{"code": "INVALID_NUMBER", "message": "번호가 유효하지 않습니다."}" 형태로 떨어지는 에러 응답을 feign client error decorder를 이용해서 ObjectMapper로 객체화시키고자 하였다. class ClientErrorDecoder : ErrorDecoder { override fun decode(methodKey: String?, response: Response): Exception { val exception = ObjectMapper().readValue(response.body().asInputStream(), BaseExceptionResponse::class.java) return if (response.status() in 400..49..
1. 현재 디렉터리 내에 "찾을 문자열"을 포함한 파일 정보 찾기 $ find . | xargs grep "찾을 문자열" 2. 현재 디렉터리 내에 "찾을 문자열"을 포함한 파일 정보를 색깔을 구분하여 표시하기 $ find . | xargs grep --color=auto "찾을 문자열" 3. 현재 디렉터리 내에 "찾을 문자열"을 포함한 파일 정보를 줄 번호와 함께 표기하기 $ find . | xargs grep -n "찾을 문자열" 4. 현재 디렉터리 내에 "찾을 문자열"을 포함한 파일 정보를 부가적인 정보 출력 없이 찾은 정보만 출력하기 $ find . | xargs grep 2>/dev/null "찾을 문자열" 5. 현재 디렉터리 내에 txt 확장자인 파일 중에서 "찾을 문자열"을 포함한 파일 정보..
새 프로젝트 딸 일이 있어서 기존 openapi generator 쓰듯이 작성을 했는데 openApiGenerate { generatorName.set("kotlin-spring") inputSpec.set("$rootDir/src/main/resources/openapi.yml") outputDir.set("$buildDir/generated/openapi") } sourceSets.main { java.srcDirs("$buildDir/generated/src/main") } 아래와 같이 곧 deprecated 된다는 내용이 눈에 띈다. 찾아보니 그래들 버전 8.5로 올리면서 deprecated 되나보다. 설명대로 layout.buildDirectory로 대체하니 잘 돌아간다. openApiGener..
다른 서비스 데이터 호출 시 이렇게 날짜를 타임스탬프로 받아온다. { "customer_addr": null, "customer_email": null, "customer_id": "customer-id-bdd35d19-7a53-4a94-bc0e-1c5de27d0b21", "customer_name": null, "customer_postcode": null, "customer_tel": null, "inserted": 1699339274, "updated": 1699339275 } 우리 서비스는 LocalDateTime을 표준으로 사용하므로 변환이 필요하다. 아래와 같이 LocalDateTime으로 변환하는 방법은 다양하다. val timestamp: Long = 1699339274 var localD..