개발/Spring 3

[Swagger] Request가 Map인 경우 Controller 작성법

일반적으로 Controller 에 Request를 Vo로 받는것이 권장되지만 부득이하게 Map으로 받아야되는경우 아래와같이 Swagger를 작성할수 있습니다 @Tag(name = "테스트") @Operation(parameters = { @Parameter(name = "test1", description = "테스트1", required = true, example = "1"), @Parameter(name = "test2", description = "테스트2", required = true, example = "2") }) @PostMapping("/api/test") HashMap test (@RequestParam HashMap param){ return null; } Parameter hidd..

개발/Spring 2023.11.01

Querydsl 에서 datetime과 date 비교하기

일단 가장 좋은 방법은 일시와 일자를 비교할일이 없는게 베스트이다. 그러나 현실에서는 일자와 일시를 비교할 일이 많으며, 비교대상중 하나가 상수인경우는 쉽게 해결될것이다. 문제는 둘다 엔티티화 되어있는 경우인데 이런경우 가장 먼저 아래와 같은 해결책을 제시할 수 있다. .on(Expressions.dateTemplate(LocalDate.class, "DATE_FORMAT({0}, {1})", a.orderDatetime, "%Y-%m-%d") .between(b.startDate, b.endDate)) 그러나 이런 방법에는 문제가 있다. MySQL에서는 아무 문제없이 작동할 수 있지만 다른 데이터베이스로 마이그레이션할 일이 있다면 DATE_FORMAT 함수가 부메랑으로 날아온다. 의외로 그런 문제는 빠..

개발/Spring 2023.07.10

Description 을 사용하자

전통적인 JavaDoc 은 아래와 같습니다./** * Javadoc 테스트용 클래스 * * @author aimyon * @version 1.0 */ @JobScope @Component public class DemoParameter { /** * 버전 */ @Value("#{jobParameters[version]}") private String version; /** * 버전 반환 * * @return 버전 */ public long getVersion() { return Long.parseLong(version); } }Description 를 활용하면 다음과 같이 작성할 수 있습니다.@Description("테스트용 클래스") @JobScope @Component public class Demo..

개발/Spring 2023.06.20