From 72e58a1633355f86d1fe8ea5ce7dee97a9145f35 Mon Sep 17 00:00:00 2001 From: jjun522 Date: Sun, 22 Dec 2024 12:49:46 +0900 Subject: [PATCH] =?UTF-8?q?font=20api=20=EB=A6=AC=ED=8E=99=ED=86=A0?= =?UTF-8?q?=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dearnote/domain/enums/Font.java | 24 ++++++++++++++++++- .../web/controller/LetterRestController.java | 10 ++++++++ .../web/dto/letter/LetterResponseDTO.java | 16 +++++++++++++ src/main/resources/application-prod.yml | 2 +- 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dearnote/domain/enums/Font.java b/src/main/java/com/dearnote/domain/enums/Font.java index c78e287..b5a20a0 100644 --- a/src/main/java/com/dearnote/domain/enums/Font.java +++ b/src/main/java/com/dearnote/domain/enums/Font.java @@ -1,7 +1,29 @@ package com.dearnote.domain.enums; +import com.dearnote.web.dto.letter.LetterResponseDTO; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + public enum Font { - RIDIBatang, Handletting1, Handletting2, Handletting3, Handletting4, Handletting5 + RIDIBatang, Handletting1, Handletting2, Handletting3, Handletting4, Handletting5; + + public static LetterResponseDTO.FontResponseDTOList toFontDTOList() { + List fontList = Arrays.stream(values()) + .map(Font::toFontDTO) + .collect(Collectors.toList()); + + return LetterResponseDTO.FontResponseDTOList.builder() + .fontList(fontList) + .build(); + } + + private LetterResponseDTO.FontResponseDTO toFontDTO() { + return LetterResponseDTO.FontResponseDTO.builder() + .name(this.name()) + .build(); + } } diff --git a/src/main/java/com/dearnote/web/controller/LetterRestController.java b/src/main/java/com/dearnote/web/controller/LetterRestController.java index b86e853..2fd67b2 100644 --- a/src/main/java/com/dearnote/web/controller/LetterRestController.java +++ b/src/main/java/com/dearnote/web/controller/LetterRestController.java @@ -6,6 +6,7 @@ import com.dearnote.domain.Letter; import com.dearnote.domain.LetterBox; import com.dearnote.domain.Member; +import com.dearnote.domain.enums.Font; import com.dearnote.domain.enums.LetterPaper; import com.dearnote.domain.enums.Wax; import com.dearnote.service.keyword.KeywordQueryService; @@ -58,6 +59,15 @@ public ApiResponse getWaxList() { return ApiResponse.onSuccess(Wax.toWaxDTOList()); } + @GetMapping("/font") + @Operation(summary = "글씨체 조회 API", description = "글씨체를 조회하는 API입니다.") + @ApiResponses({ + @io.swagger.v3.oas.annotations.responses.ApiResponse(responseCode = "COMMON200", description = "OK, 성공"), + }) + public ApiResponse getFontList() { + return ApiResponse.onSuccess(Font.toFontDTOList()); + } + @PostMapping("/letters") @Operation(summary = "편지 전송 api", description = "편지를 전송하는 api입니다.") @ApiResponses({ diff --git a/src/main/java/com/dearnote/web/dto/letter/LetterResponseDTO.java b/src/main/java/com/dearnote/web/dto/letter/LetterResponseDTO.java index 9c722a1..2640ba3 100644 --- a/src/main/java/com/dearnote/web/dto/letter/LetterResponseDTO.java +++ b/src/main/java/com/dearnote/web/dto/letter/LetterResponseDTO.java @@ -48,6 +48,22 @@ public static class WaxResponseDTOList { // 실링 왁스 조회 응답 DTO private List waxList; } + @Builder + @Getter + @NoArgsConstructor + @AllArgsConstructor + public static class FontResponseDTO { + private String name; + } + + @Builder + @Getter + @NoArgsConstructor + @AllArgsConstructor + public static class FontResponseDTOList { // 글씨체 조회 응답 DTO + private List fontList; + } + @Builder @Getter @NoArgsConstructor diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 13e93cf..4c9c11a 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -21,7 +21,7 @@ spring: registration: naver: client-name: naver - client-id: ${NAVER_CLient_ID} # 네이버 클라이언트 ID + client-id: ${NAVER_CLIENT_ID} # 네이버 클라이언트 ID client-secret: ${NAVER_SECRET_ID} # 네이버 클라이언트 비밀번호 redirect-uri: http://${PROD_HOST}:8080/login/oauth2/code/naver authorization-grant-type: authorization_code