한창 또 삽질하고 있는 와중에 R2dbc로 업데이트를 하니 갑자기 CreateDate로 지정한 컬럼에서 update가 일어나는 문제가 발생했습니다. 여러 군데 알아보니 @Column(update=false)를 쓰라는데, 그런 것 따위 해당 Annotation에서 지원해 주지 않는 걸...? ^,^ 일단 꾸역꾸역 원본 데이터 불러와서 set 해주는 걸로 하려고 했는데, 뭔가 약간 그런 기분이랄까요. 깨끗하게 해결되지 않은 찜찜한 느낌.. 그런 느낌이 들어 조금 만 더 찾아보니 아래와 같은 방법이 있었습니다.1234 @JsonIgnore @CreatedDate @InsertOnlyProperty private LocalDateTime createDatetime;cs 위와 같이 @Ins..
이번에 R2dbc를 사용하면서 컬럼에 LocalDatetime 및 LocalDate를 적극적으로 사용하고 있는데, Swagger를 보니 표기가 yyyy-MM-ddTHH:mm:ss.SSS로 나왔습니다. 그냥 흐린 눈하고 저렇게 받으면 되긴 한데, 한국인의 정서라는 게 있지 않겠습니까? yyyy-MM-dd HH:mm:ss로 나오면 좋겠는데.. 해서 한참 찾아보니 @DateTimeFormat을 쓰라는데, 이걸 장인 정신으로 한땀 한땀 다 붙이는 미친 짓은 하고 싶지 않아서 더 알아보니 WebFluxConfigurationSupport를 상속받은 후에 FormattingConversionService를 Override해서 쓰라는데 잘 되는 거 같았는데, 이젠 설정이 엉망진창이 되어서 Swagger도 접속 안되는..
Spring Webflux는 리액티브 프로그래밍이므로 MVC에서 썼던 Mybatis나 JPA를 쓰면 블로킹 처리가 되기 때문에 MVC를 쓰는 것과 차이가 없어지므로 R2dbc라는 라이브러리를 사용해야 합니다. Spring에서 제공하고 있기 때문에 Spring-data-r2dbc starter를 적용하면 됩니다. JPA와 유사하게 쓸 수 있고 @Query Annotation도 지원하기 때문에 기존에 JPA를 썼던 분이라면 어렵지 않게 적응 가능하실 겁니다. 그럼 이제 Webflux R2dbc에서 어떻게 Transaction을 적용해야 할 지 알아 봅시다. 1. @Transactinal가장 기초적인 방식으로 Annotation을 Method에 지정하는 방식입니다.12345678910111213141516..
Spring Webflux에서 파라미터를 로깅하기 위한 방법입니다. Get의 Query Param 같은 경우에는 Request에서 Query Param으로 들고오면 되니까 상관없는데, POST나 Multipart같은 경우는 한번 열고 나면 다시 재사용이 불가능하므로 ServerHttpRequestDecorator나 ServerWebExchangeDecorator를 상속 받아 Filter에서 ServerWebExchange를 새로 선언 후 후 처리를 해줘야 합니다. 해당 부분에 대한 코드들은 밑에 Github에 작성해 뒀으니 자세한 내용은 아래 Github 참조하시면 될 듯 합니다. https://github.com/younghu-lee/spring-webflux-logging GitHub - youngh..
- Total
- Today
- Yesterday