From d8356943a75bfeeaf29fc205531b27b0aaf688b9 Mon Sep 17 00:00:00 2001 From: HyeonsuLee Date: Tue, 23 Jul 2024 17:22:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20imageUrls=EA=B0=80=20nul=EC=9D=B8?= =?UTF-8?q?=20=EA=B2=BD=EC=9A=B0=20=EB=B9=88=20=EB=B0=B0=EC=97=B4=EB=A1=9C?= =?UTF-8?q?=20=EC=B4=88=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../koin/domain/shop/dto/CreateReviewRequest.java | 15 +++++++++++++++ .../koin/domain/shop/dto/ModifyReviewRequest.java | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java b/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java index a0cec78e7..c62edee05 100644 --- a/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java +++ b/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java @@ -2,8 +2,11 @@ import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; +import java.util.ArrayList; import java.util.List; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; @@ -37,4 +40,16 @@ public record CreateReviewRequest( @Schema(example = "[\"치킨\", \"피자\"]", description = "메뉴 이름", requiredMode = REQUIRED) List menuNames ) { + @JsonCreator + public CreateReviewRequest( + @JsonProperty("rating") @NotNull @Min(1) @Max(5) Integer rating, + @JsonProperty("content") @NotBlank String content, + @JsonProperty("imageUrls") List imageUrls, + @JsonProperty("menuNames") List menuNames + ) { + this.rating = rating; + this.content = content; + this.imageUrls = imageUrls != null ? imageUrls : new ArrayList<>(); + this.menuNames = menuNames; + } } diff --git a/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java b/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java index facc1c14d..bda9af573 100644 --- a/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java +++ b/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java @@ -2,8 +2,11 @@ import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; +import java.util.ArrayList; import java.util.List; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; @@ -37,4 +40,16 @@ public record ModifyReviewRequest( @Schema(example = "[\"치킨\", \"피자\"]", description = "메뉴 이름", requiredMode = REQUIRED) List menuNames ) { + @JsonCreator + public ModifyReviewRequest( + @JsonProperty("rating") @NotNull @Min(1) @Max(5) Integer rating, + @JsonProperty("content") @NotBlank String content, + @JsonProperty("imageUrls") List imageUrls, + @JsonProperty("menuNames") List menuNames + ) { + this.rating = rating; + this.content = content; + this.imageUrls = imageUrls != null ? imageUrls : new ArrayList<>(); + this.menuNames = menuNames; + } } From 778bbabb0e18ed4566ab075d0182106dd1525750 Mon Sep 17 00:00:00 2001 From: HyeonsuLee Date: Tue, 23 Jul 2024 21:37:35 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20JsonProperty=EC=8A=A4=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=ED=81=AC=EC=BC=80=EC=9D=B4=EC=8A=A4=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../koin/domain/shop/dto/CreateReviewRequest.java | 8 ++++---- .../koin/domain/shop/dto/ModifyReviewRequest.java | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java b/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java index c62edee05..7df567ca8 100644 --- a/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java +++ b/src/main/java/in/koreatech/koin/domain/shop/dto/CreateReviewRequest.java @@ -44,12 +44,12 @@ public record CreateReviewRequest( public CreateReviewRequest( @JsonProperty("rating") @NotNull @Min(1) @Max(5) Integer rating, @JsonProperty("content") @NotBlank String content, - @JsonProperty("imageUrls") List imageUrls, - @JsonProperty("menuNames") List menuNames + @JsonProperty("image_urls") List imageUrls, + @JsonProperty("menu_names") List menuNames ) { this.rating = rating; this.content = content; - this.imageUrls = imageUrls != null ? imageUrls : new ArrayList<>(); - this.menuNames = menuNames; + this.imageUrls = imageUrls == null? new ArrayList<>(): imageUrls; + this.menuNames = menuNames == null? new ArrayList<>(): menuNames; } } diff --git a/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java b/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java index bda9af573..b596a9df9 100644 --- a/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java +++ b/src/main/java/in/koreatech/koin/domain/shop/dto/ModifyReviewRequest.java @@ -44,12 +44,12 @@ public record ModifyReviewRequest( public ModifyReviewRequest( @JsonProperty("rating") @NotNull @Min(1) @Max(5) Integer rating, @JsonProperty("content") @NotBlank String content, - @JsonProperty("imageUrls") List imageUrls, - @JsonProperty("menuNames") List menuNames + @JsonProperty("image_urls") List imageUrls, + @JsonProperty("menu_names") List menuNames ) { this.rating = rating; this.content = content; - this.imageUrls = imageUrls != null ? imageUrls : new ArrayList<>(); - this.menuNames = menuNames; + this.imageUrls = imageUrls == null ? new ArrayList<>() : imageUrls; + this.menuNames = menuNames == null ? new ArrayList<>() : menuNames; } }