From 922895d558fc4372f59b23375c628b641c141c8a Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 12 Apr 2024 18:11:12 +0900 Subject: [PATCH 1/9] =?UTF-8?q?diary-content-api=EA=B5=AC=ED=98=84=20?= =?UTF-8?q?=EB=B0=8F=20=ED=85=8C=EC=8A=A4=ED=8A=B8=EC=84=B1=EA=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kkoolbeeServer/domain/advice/Advice.java | 11 +++ .../domain/advice/dto/AdviceResponseDto.java | 12 ++++ .../kkoolbeeServer/domain/diary/Diary.java | 4 ++ .../diary/controller/DiaryController.java | 70 ++++++++++++++++++ .../dto/request/DiaryContentRequestDto.java | 14 ++++ .../dto/response/DiaryContentResponseDto.java | 15 ++++ .../diary/repository/DiaryRepository.java | 13 ++++ .../domain/diary/service/DiaryService.java | 29 ++++++++ .../diary/controller/DiaryControllerTest.java | 71 +++++++++++++++++++ 9 files changed, 239 insertions(+) create mode 100644 src/main/java/org/kau/kkoolbeeServer/domain/advice/dto/AdviceResponseDto.java create mode 100644 src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java create mode 100644 src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java create mode 100644 src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java create mode 100644 src/main/java/org/kau/kkoolbeeServer/domain/diary/repository/DiaryRepository.java create mode 100644 src/main/java/org/kau/kkoolbeeServer/domain/diary/service/DiaryService.java create mode 100644 src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/advice/Advice.java b/src/main/java/org/kau/kkoolbeeServer/domain/advice/Advice.java index 8d74a15..820f320 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/advice/Advice.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/advice/Advice.java @@ -4,8 +4,15 @@ import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; @Entity +@Getter +@Setter +@NoArgsConstructor public class Advice { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -15,4 +22,8 @@ public class Advice { String spicy_advice; + public Advice(String kind_advice, String spicy_advice) { + this.kind_advice = kind_advice; + this.spicy_advice = spicy_advice; + } } diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/advice/dto/AdviceResponseDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/advice/dto/AdviceResponseDto.java new file mode 100644 index 0000000..1f88183 --- /dev/null +++ b/src/main/java/org/kau/kkoolbeeServer/domain/advice/dto/AdviceResponseDto.java @@ -0,0 +1,12 @@ +package org.kau.kkoolbeeServer.domain.advice.dto; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class AdviceResponseDto { + private String spicy; + private String kind; +} diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java index c09f3ea..8349892 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java @@ -1,6 +1,8 @@ package org.kau.kkoolbeeServer.domain.diary; import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; import org.kau.kkoolbeeServer.domain.advice.Advice; import org.kau.kkoolbeeServer.domain.member.Member; import org.kau.kkoolbeeServer.global.common.domain.BaseTimeEntity; @@ -10,6 +12,8 @@ import java.util.List; @Entity +@Getter +@Setter public class Diary extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java new file mode 100644 index 0000000..3e57c00 --- /dev/null +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java @@ -0,0 +1,70 @@ +package org.kau.kkoolbeeServer.domain.diary.controller; + +import org.kau.kkoolbeeServer.domain.advice.dto.AdviceResponseDto; +import org.kau.kkoolbeeServer.domain.diary.Diary; +import org.kau.kkoolbeeServer.domain.diary.dto.request.DiaryContentRequestDto; +import org.kau.kkoolbeeServer.domain.diary.dto.response.DiaryContentResponseDto; +import org.kau.kkoolbeeServer.domain.diary.service.DiaryService; +import org.kau.kkoolbeeServer.global.common.dto.ApiResponse; +import org.kau.kkoolbeeServer.global.common.dto.enums.ErrorType; +import org.kau.kkoolbeeServer.global.common.dto.enums.SuccessType; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Optional; + +@RestController +public class DiaryController { + + private DiaryService diaryService; + @Autowired + public DiaryController(DiaryService diaryService) { + this.diaryService = diaryService; + } + + @PostMapping("/api/diary/content") + public ResponseEntity> getDiaryContents(@RequestBody DiaryContentRequestDto diaryContentRequestDto) { + + Long diaryId = diaryContentRequestDto.getDiary_id(); + + Optional diaryOptional = diaryService.findDiaryById(diaryId); + try{ + if (diaryOptional.isPresent()) { + + Diary diary = diaryOptional.get(); + // Diary의 Advice 정보를 AdviceResponseDto 객체로 변환 + AdviceResponseDto adviceResponseDto = new AdviceResponseDto( + diary.getAdvice().getSpicy_advice(), + diary.getAdvice().getKind_advice() + ); + + + DiaryContentResponseDto responseDto = new DiaryContentResponseDto( + diary.getContent(), + adviceResponseDto, + diary.getFeeling().toString() + ); + + return ResponseEntity.ok().body(ApiResponse.success(SuccessType.PROCESS_SUCCESS, responseDto)); + } else { + return ResponseEntity.status(ErrorType.REQUEST_VALIDATION_EXCEPTION.getHttpStatus()) + .body(ApiResponse.error(ErrorType.REQUEST_VALIDATION_EXCEPTION)); + //diary 가 null 일 경우 요청이상함 반환 + } + + } catch (Exception e){ + + return ResponseEntity.status(ErrorType.INTERNAL_SERVER_ERROR.getHttpStatus()) + .body(ApiResponse.error(ErrorType.INTERNAL_SERVER_ERROR)); + //다른 오류가 났을 경우 서버에러 + + } + + } + + +} \ No newline at end of file diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java new file mode 100644 index 0000000..1140548 --- /dev/null +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java @@ -0,0 +1,14 @@ +package org.kau.kkoolbeeServer.domain.diary.dto.request; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class DiaryContentRequestDto { + private Long diary_id; +} diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java new file mode 100644 index 0000000..ff2f97e --- /dev/null +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java @@ -0,0 +1,15 @@ +package org.kau.kkoolbeeServer.domain.diary.dto.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.kau.kkoolbeeServer.domain.advice.dto.AdviceResponseDto; + +@Getter +@AllArgsConstructor +public class DiaryContentResponseDto { + private String diaryContent; + private AdviceResponseDto advice; + private String feeling; + + +} diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/repository/DiaryRepository.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/repository/DiaryRepository.java new file mode 100644 index 0000000..4329161 --- /dev/null +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/repository/DiaryRepository.java @@ -0,0 +1,13 @@ +package org.kau.kkoolbeeServer.domain.diary.repository; + +import org.kau.kkoolbeeServer.domain.diary.Diary; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface DiaryRepository extends JpaRepository { + + + + +} diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/service/DiaryService.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/service/DiaryService.java new file mode 100644 index 0000000..7a06556 --- /dev/null +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/service/DiaryService.java @@ -0,0 +1,29 @@ +package org.kau.kkoolbeeServer.domain.diary.service; + +import org.kau.kkoolbeeServer.domain.diary.Diary; +import org.kau.kkoolbeeServer.domain.diary.repository.DiaryRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.swing.text.html.Option; +import java.util.Optional; + +@Service +public class DiaryService { + + private DiaryRepository diaryRepository; + + @Autowired + public DiaryService(DiaryRepository diaryRepository) { + this.diaryRepository = diaryRepository; + } + + public Optional findDiaryById(Long diary_id){ + + return diaryRepository.findById(diary_id); + + + } + + +} diff --git a/src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java b/src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java new file mode 100644 index 0000000..ca3beba --- /dev/null +++ b/src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java @@ -0,0 +1,71 @@ +package org.kau.kkoolbeeServer.domain.diary.controller; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.kau.kkoolbeeServer.domain.advice.Advice; +import org.kau.kkoolbeeServer.domain.advice.dto.AdviceResponseDto; +import org.kau.kkoolbeeServer.domain.diary.Diary; +import org.kau.kkoolbeeServer.domain.diary.Feeling; +import org.kau.kkoolbeeServer.domain.diary.dto.request.DiaryContentRequestDto; + +import org.kau.kkoolbeeServer.domain.diary.dto.response.DiaryContentResponseDto; +import org.kau.kkoolbeeServer.domain.diary.service.DiaryService; +import org.kau.kkoolbeeServer.global.common.dto.ApiResponse; +import org.kau.kkoolbeeServer.global.common.dto.enums.SuccessType; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.test.web.servlet.MockMvc; + +import java.util.Optional; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.BDDMockito.given; + +@ExtendWith(SpringExtension.class) +@WebMvcTest(DiaryController.class) +public class DiaryControllerTest { + + @Autowired + private MockMvc mockMvc; + + @MockBean + private DiaryService diaryService; + + @Autowired + private ObjectMapper objectMapper; + + @Test + public void testGetDiaryContents() throws Exception { + // Given + DiaryContentRequestDto requestDto = new DiaryContentRequestDto(); + requestDto.setDiary_id(1L); + + Advice advice = new Advice(); // Advice 객체 생성 + advice.setSpicy_advice("spicy_advice"); + advice.setKind_advice("kind_advice"); + Diary diary = new Diary(); // Diary 객체 생성 + diary.setContent("안뇽안뇽안뇽안뇽"); + diary.setFeeling(Feeling.ANGRY); + diary.setAdvice(advice); // Diary 객체에 Advice 설정 + + + AdviceResponseDto adviceResponseDto = new AdviceResponseDto("spicy_advice", "kind_advice"); + DiaryContentResponseDto responseDto = new DiaryContentResponseDto(diary.getContent(), adviceResponseDto,diary.getFeeling().toString()); + given(diaryService.findDiaryById(any(Long.class))).willReturn(Optional.of(diary)); + + // When & Then + mockMvc.perform(post("/api/diary/content") + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(requestDto))) + .andExpect(status().isOk()) + .andExpect(content().json(objectMapper.writeValueAsString(ApiResponse.success(SuccessType.PROCESS_SUCCESS, responseDto)))); + } +} From 44f8326c9306f9b75f34015ebd81bc2abefceadd Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 12 Apr 2024 18:23:33 +0900 Subject: [PATCH 2/9] =?UTF-8?q?json=ED=95=84=EB=93=9C=20=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/diary/dto/response/DiaryContentResponseDto.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java index ff2f97e..dd84a86 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java @@ -1,5 +1,6 @@ package org.kau.kkoolbeeServer.domain.diary.dto.response; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Getter; import org.kau.kkoolbeeServer.domain.advice.dto.AdviceResponseDto; @@ -7,6 +8,7 @@ @Getter @AllArgsConstructor public class DiaryContentResponseDto { + @JsonProperty("diary_content") private String diaryContent; private AdviceResponseDto advice; private String feeling; From 216c5d445c020147ce8ba431c69d907115cf2c35 Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 12 Apr 2024 20:40:34 +0900 Subject: [PATCH 3/9] =?UTF-8?q?refactor:ApiResponse=EC=B4=88=EA=B8=B0?= =?UTF-8?q?=EC=84=B8=ED=8C=85=20=ED=95=84=EB=93=9C=EC=9D=B4=EB=A6=84?= =?UTF-8?q?=EB=B3=80=EA=B2=BDstatus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java index 62edcb2..4df211b 100644 --- a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java +++ b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java @@ -15,7 +15,7 @@ @AllArgsConstructor(access = AccessLevel.PRIVATE) public class ApiResponse { - private final int code; // 상태 코드 + private final int status; // 상태 코드 private final String message; // 회원 조회가 정상 처리되었습니다! @JsonInclude(JsonInclude.Include.NON_NULL) From cf8b80b6b43521c5542c4e96f70ccdc36ffcb70e Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 12 Apr 2024 21:57:12 +0900 Subject: [PATCH 4/9] =?UTF-8?q?api=EB=AA=85=EC=84=B8=EC=84=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=EC=9C=BC=EB=A1=9C=EC=9D=B8=ED=95=9C=20=EC=B4=88?= =?UTF-8?q?=EA=B8=B0=EC=84=B8=ED=8C=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/diary/controller/DiaryController.java | 5 +++-- .../domain/diary/dto/response/DiaryContentResponseDto.java | 2 ++ .../kau/kkoolbeeServer/global/common/dto/ApiResponse.java | 3 ++- .../kkoolbeeServer/global/common/dto/enums/ErrorType.java | 2 +- .../kkoolbeeServer/global/common/dto/enums/SuccessType.java | 2 +- .../domain/diary/controller/DiaryControllerTest.java | 5 ++++- 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java index 3e57c00..a6102ed 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java @@ -31,14 +31,15 @@ public ResponseEntity> getDiaryContents(@RequestBody DiaryContent Long diaryId = diaryContentRequestDto.getDiary_id(); - Optional diaryOptional = diaryService.findDiaryById(diaryId); + try{ + Optional diaryOptional = diaryService.findDiaryById(diaryId); if (diaryOptional.isPresent()) { Diary diary = diaryOptional.get(); // Diary의 Advice 정보를 AdviceResponseDto 객체로 변환 AdviceResponseDto adviceResponseDto = new AdviceResponseDto( - diary.getAdvice().getSpicy_advice(), + diary.getAdvice().getSpicy_advice(), //여기서 null이 나오면 ? diary.getAdvice().getKind_advice() ); diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java index dd84a86..8a25419 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java @@ -1,9 +1,11 @@ package org.kau.kkoolbeeServer.domain.diary.dto.response; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.AllArgsConstructor; import lombok.Getter; import org.kau.kkoolbeeServer.domain.advice.dto.AdviceResponseDto; +@JsonPropertyOrder({ "diary_content", "advice","feeling"}) @Getter @AllArgsConstructor diff --git a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java index 4df211b..afe2caa 100644 --- a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java +++ b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/ApiResponse.java @@ -10,7 +10,7 @@ import org.kau.kkoolbeeServer.global.common.dto.enums.SuccessType; @Getter -@JsonPropertyOrder({"code", "message", "data"}) +@JsonPropertyOrder({"status","message", "data"}) @RequiredArgsConstructor(access = AccessLevel.PRIVATE) @AllArgsConstructor(access = AccessLevel.PRIVATE) public class ApiResponse { @@ -18,6 +18,7 @@ public class ApiResponse { private final int status; // 상태 코드 private final String message; // 회원 조회가 정상 처리되었습니다! + @JsonInclude(JsonInclude.Include.NON_NULL) private T data; // 객체가 실제로 들어감 diff --git a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/ErrorType.java b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/ErrorType.java index c6d79c5..ffbb7b0 100644 --- a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/ErrorType.java +++ b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/ErrorType.java @@ -17,7 +17,7 @@ public enum ErrorType { /** * 500 INTERNAL SERVER ERROR */ - INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "알 수 없는 서버 에러가 발생했습니다."), + INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "서버 내부 오류"), ; private final HttpStatus httpStatus; diff --git a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java index b664160..3368eed 100644 --- a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java +++ b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java @@ -12,7 +12,7 @@ public enum SuccessType { /** * 200 OK */ - PROCESS_SUCCESS(HttpStatus.OK, "OK"), + PROCESS_SUCCESS(HttpStatus.CREATED, "요청이 성공했습니다."), ; private final HttpStatus httpStatus; diff --git a/src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java b/src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java index ca3beba..526063a 100644 --- a/src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java +++ b/src/test/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryControllerTest.java @@ -24,6 +24,7 @@ import java.util.Optional; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.mockito.ArgumentMatchers.any; @@ -66,6 +67,8 @@ public void testGetDiaryContents() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.writeValueAsString(requestDto))) .andExpect(status().isOk()) - .andExpect(content().json(objectMapper.writeValueAsString(ApiResponse.success(SuccessType.PROCESS_SUCCESS, responseDto)))); + .andExpect(content().json(objectMapper.writeValueAsString(ApiResponse.success(SuccessType.PROCESS_SUCCESS, responseDto)))) + .andDo(print()); + } } From d53cd832a32318d044b1bd330d9605707cebfb4f Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 12 Apr 2024 21:58:42 +0900 Subject: [PATCH 5/9] =?UTF-8?q?succes=20type=EC=97=90=EC=84=9C=20=20?= =?UTF-8?q?=EC=98=A4=ED=83=80=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20=EC=BB=A4?= =?UTF-8?q?=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java index 3368eed..159611a 100644 --- a/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java +++ b/src/main/java/org/kau/kkoolbeeServer/global/common/dto/enums/SuccessType.java @@ -12,7 +12,7 @@ public enum SuccessType { /** * 200 OK */ - PROCESS_SUCCESS(HttpStatus.CREATED, "요청이 성공했습니다."), + PROCESS_SUCCESS(HttpStatus.CREATED, "요청이 성공했습니다."), //api 명세서에 201로 나와있기에 바꿨습니다 ; private final HttpStatus httpStatus; From b5d854cf9a1550b15f95411006755250e7dc5a52 Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Sun, 14 Apr 2024 17:19:22 +0900 Subject: [PATCH 6/9] =?UTF-8?q?refactor:diaryrequestDto=ED=95=84=EB=93=9C?= =?UTF-8?q?=EB=AA=85=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/diary/dto/request/DiaryContentRequestDto.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java index 1140548..8f48855 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/request/DiaryContentRequestDto.java @@ -10,5 +10,5 @@ @AllArgsConstructor @NoArgsConstructor public class DiaryContentRequestDto { - private Long diary_id; + private Long diaryId; } From 10b77174d6b4028a4bf81fa2b22fe466e5128c19 Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 19 Apr 2024 11:38:58 +0900 Subject: [PATCH 7/9] =?UTF-8?q?refactor=20:=201=EC=B0=A8=EC=BD=94=EB=93=9C?= =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20error=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kkoolbeeServer/domain/diary/controller/DiaryController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java index a6102ed..d780bf4 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java @@ -29,7 +29,7 @@ public DiaryController(DiaryService diaryService) { @PostMapping("/api/diary/content") public ResponseEntity> getDiaryContents(@RequestBody DiaryContentRequestDto diaryContentRequestDto) { - Long diaryId = diaryContentRequestDto.getDiary_id(); + Long diaryId = diaryContentRequestDto.getDiaryId(); try{ From 9e9879cba0fd7c8c98f482a076c1f91d0f13920a Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 26 Apr 2024 21:30:20 +0900 Subject: [PATCH 8/9] =?UTF-8?q?refactor:=20imageurl=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/kau/kkoolbeeServer/domain/diary/Diary.java | 14 ++++---------- .../domain/diary/controller/DiaryController.java | 3 ++- .../dto/response/DiaryContentResponseDto.java | 3 ++- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java index 8349892..5a4d9b8 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/Diary.java @@ -2,6 +2,7 @@ import jakarta.persistence.*; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.Setter; import org.kau.kkoolbeeServer.domain.advice.Advice; import org.kau.kkoolbeeServer.domain.member.Member; @@ -14,6 +15,7 @@ @Entity @Getter @Setter +@NoArgsConstructor public class Diary extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -37,18 +39,10 @@ public class Diary extends BaseTimeEntity { @Column(nullable = false,length = 1000) private String content; - private String title; - - - - - - - - - + private String imageurl; + private String title; } diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java index d780bf4..7a792ef 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java @@ -47,7 +47,8 @@ public ResponseEntity> getDiaryContents(@RequestBody DiaryContent DiaryContentResponseDto responseDto = new DiaryContentResponseDto( diary.getContent(), adviceResponseDto, - diary.getFeeling().toString() + diary.getFeeling().toString(), + diary.getImageurl() ); return ResponseEntity.ok().body(ApiResponse.success(SuccessType.PROCESS_SUCCESS, responseDto)); diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java index 8a25419..ae7e32f 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java @@ -5,7 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import org.kau.kkoolbeeServer.domain.advice.dto.AdviceResponseDto; -@JsonPropertyOrder({ "diary_content", "advice","feeling"}) +@JsonPropertyOrder({ "diary_content", "advice","feeling","imageUrl"}) @Getter @AllArgsConstructor @@ -14,6 +14,7 @@ public class DiaryContentResponseDto { private String diaryContent; private AdviceResponseDto advice; private String feeling; + private String imageUrl; } From 906b24d13d6f34919c3b64a5300b96dcfda1e32e Mon Sep 17 00:00:00 2001 From: jwaminseok Date: Fri, 26 Apr 2024 22:26:09 +0900 Subject: [PATCH 9/9] =?UTF-8?q?refactor:=EB=B0=98=ED=99=98=EA=B0=92?= =?UTF-8?q?=EC=97=90=20=EC=A0=9C=EB=AA=A9=EB=8F=84=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/diary/controller/DiaryController.java | 3 ++- .../domain/diary/dto/response/DiaryContentResponseDto.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java index 7a792ef..6ea3066 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/controller/DiaryController.java @@ -48,7 +48,8 @@ public ResponseEntity> getDiaryContents(@RequestBody DiaryContent diary.getContent(), adviceResponseDto, diary.getFeeling().toString(), - diary.getImageurl() + diary.getImageurl(), + diary.getTitle() ); return ResponseEntity.ok().body(ApiResponse.success(SuccessType.PROCESS_SUCCESS, responseDto)); diff --git a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java index ae7e32f..8bd60b0 100644 --- a/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java +++ b/src/main/java/org/kau/kkoolbeeServer/domain/diary/dto/response/DiaryContentResponseDto.java @@ -5,7 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import org.kau.kkoolbeeServer.domain.advice.dto.AdviceResponseDto; -@JsonPropertyOrder({ "diary_content", "advice","feeling","imageUrl"}) +@JsonPropertyOrder({ "diary_content", "advice","feeling","imageUrl","diartTitle"}) @Getter @AllArgsConstructor @@ -15,6 +15,7 @@ public class DiaryContentResponseDto { private AdviceResponseDto advice; private String feeling; private String imageUrl; + private String diaryTitle; }