본문 바로가기

Back-End (web)50

[Mono][Feign] 404 error custom throw feign에서 404에러 발생 시 에러 핸들링 Mono.fromCallable { feign.get() } .onErrorReturn(FeignException.NotFound::class.java, null) .subscribeOn(Schedulers.elastic()) Feign 에서 404 에러발생시 FeignException.NotFound 에러를 뱉는다. onErrorReturn으로 이를 catch 하여 원하는 응답값을 반환해준다. 2020. 8. 16.
kotlin Companion extension data class Tmp(val test: String) {} fun Tmp.Companion.test() = 1 Companion 객체 확장함수를 만들려고 위와 같이 코드를 짜면 Unresolved reference: Companion Unresolved reference라고 빨간줄이 뜬다. data class Tmp(val test: String) { companion object // add } Tmp 클래스에 확장시키려고 하는 Companion 객체가 없기 때문에 발생하는 에러다. companion object 를 위와 같이 추가하여 해결한다. 참고 : [문서] Companion object extensions 2020. 8. 8.
[Querydsl] between 조건. LocalDate to LocalDateTime post의 createdDateTime(LocalDateTime) 컬럼이 startDate(LocalDate), endDate(LocalDate) 사이에 있는 값을 뽑기 위해 where 조건을 추가하려고 한다. builder.and( post.createdDateTime.between( startDate.atStartOfDay(), LocalDateTime.of(searchParams.endDate, LocalTime.MAX) ) ) asStartOfDay()로 startDate에 00:00:00을 추가해서 LocalDateTime으로 만든다. endDate은 23:59:59.999999 을 조건으로 붙이기 위해 LocalDateTime.of를 사용했는데 실제로는 처리될때는 다음날 00:00:00 로 조.. 2020. 8. 5.
[intellij] google code 포매터 적용 구글 포매터 다운 링크 : https://github.com/google/styleguide Clone or download > Download ZIP 압축해제해서 필요한 것만 압축해제 해도 됩니다. 저는 Intellij 용 xml(intellij-java-google-style.xml)만 압축해제 해주었습니다. File > Settings > Editor > Code Style > Scheme 옆에 톱니바퀴 > Import Scheme > Intellij IDEA code style XML 압축해제한 xml 파일 선택합니다. 적용된 모습. Code > Reformat Code ( Alt + F8 ) : 포매터 적용. 파일 저장 시 자동 포매팅 적용 방법. 매크로를 등록한다. Edit > Macros >.. 2020. 7. 11.
[Spring] GatewayFilterFactory add Order kotlin 으로 작성되었습니다. abstract class AbstractOrderedGatewayFilterFactory private constructor() : AbstractGatewayFilterFactory() { private var order: Int = 0 constructor(order: Int) : this() { this.order = order } override fun apply(config: Any?): GatewayFilter { return OrderedGatewayFilter(GatewayFilter { exchange, chain -> chain.filter(exchange) }, order) } } @Component class CustomGatewayFilterFa.. 2020. 7. 2.
[Spring] GatewayFilterFactory Unit Test kotlin 으로 작성되었습니다. @Component class CustomGatewayFilterFactory : AbstractGatewayFilterFactory() { override fun apply(config: Any?) = GatewayFilter { exchange: ServerWebExchange, chain: GatewayFilterChain -> var request = exchange.request val value = request.headers["My-Header"]?.firstOrNull() request = request.mutate() .headers { it.add("Test-Header", AbstractGatewayFilterFactory) } .build() cha.. 2020. 7. 2.