diff --git a/src/main/java/com/example/newsfit/domain/article/dto/GetArticle.java b/src/main/java/com/example/newsfit/domain/article/dto/GetArticle.java index 441dcc7..b1f3e01 100644 --- a/src/main/java/com/example/newsfit/domain/article/dto/GetArticle.java +++ b/src/main/java/com/example/newsfit/domain/article/dto/GetArticle.java @@ -14,7 +14,7 @@ public record GetArticle( @Schema(description = "내용") String content, @Schema(description = "이미지") List images, @Schema(description = "언론사") Press press, - @Schema(description = "카테고리") Category category, + @Schema(description = "카테고리") String category, @Schema(description = "댓글") List comment, @Schema(description = "좋아요 수") Integer likeCount, @Schema(description = "내가 좋아요했는지 여부") Boolean likedArticle @@ -37,7 +37,7 @@ public static GetArticle of(Article article, Boolean isLikedArticle) { article.getContent(), article.getImages(), article.getPress(), - article.getCategory(), + article.getCategory().toString(), getComments(article), article.getLikeCount(), isLikedArticle diff --git a/src/main/java/com/example/newsfit/domain/article/dto/GetArticles.java b/src/main/java/com/example/newsfit/domain/article/dto/GetArticles.java index fd2b4b6..a941ffd 100644 --- a/src/main/java/com/example/newsfit/domain/article/dto/GetArticles.java +++ b/src/main/java/com/example/newsfit/domain/article/dto/GetArticles.java @@ -13,7 +13,7 @@ public record GetArticles( @Schema(description = "기사 제목", example = "기사 제목") String title, @Schema(description = "헤드라인", example = "헤드라인") String headLine, @Schema(description = "언론사", example = "Chosun") Press press, - @Schema(description = "카테고리", example = "IT") Category category, + @Schema(description = "카테고리", example = "IT") String category, @Schema(description = "썸네일", example = "www.example.com/images/1") String thumbnail, @Schema(description = "원본 기사의 게시일", example = "2024-10-25T10:00") LocalDateTime publishDate ) { @@ -25,7 +25,7 @@ public static GetArticles of(Article article) { article.getTitle(), article.getHeadLine(), article.getPress(), - article.getCategory(), + article.getCategory().toString(), image, article.getPublishDate() ); diff --git a/src/main/java/com/example/newsfit/domain/article/entity/Category.java b/src/main/java/com/example/newsfit/domain/article/entity/Category.java index 78bd75d..02a06ca 100644 --- a/src/main/java/com/example/newsfit/domain/article/entity/Category.java +++ b/src/main/java/com/example/newsfit/domain/article/entity/Category.java @@ -1,5 +1,32 @@ package com.example.newsfit.domain.article.entity; public enum Category { - 정치, 경제, 사회, 생활_문화, 세계, 기술_IT, 연예, 스포츠 + 정치("정치"), + 경제("경제"), + 사회("사회"), + 생활_문화("생활/문화"), + 세계("세계"), + 기술_IT("기술/IT"), + 연예("연예"), + 스포츠("스포츠"); + + private final String displayName; + + Category(String displayName) { + this.displayName = displayName; + } + + public static Category fromDisplayName(String displayName) { + for (Category category : Category.values()) { + if (category.displayName.equals(displayName)) { + return category; + } + } + throw new IllegalArgumentException("Unknown category: " + displayName); + } + + @Override + public String toString() { + return displayName; + } } diff --git a/src/main/java/com/example/newsfit/domain/article/service/ArticleService.java b/src/main/java/com/example/newsfit/domain/article/service/ArticleService.java index 975673a..cc9ac11 100644 --- a/src/main/java/com/example/newsfit/domain/article/service/ArticleService.java +++ b/src/main/java/com/example/newsfit/domain/article/service/ArticleService.java @@ -47,7 +47,7 @@ public GetArticles postArticle(String requestBody) throws ParseException { String title = (String) jsonObject.get("title"); String content = (String) jsonObject.get("content"); Press press = Press.valueOf(((String) jsonObject.get("press")).toUpperCase()); - Category category = Category.valueOf(((String) jsonObject.get("category")).toUpperCase()); + Category category = Category.fromDisplayName((String) jsonObject.get("category")); JSONArray imageArray = (JSONArray) jsonObject.get("image"); List images = new ArrayList<>(); String articleSource = (String) jsonObject.get("articleSource");