From 8c731ff0dc8fbf6d7c40d8ea09b3754b919160a8 Mon Sep 17 00:00:00 2001 From: hsjni0110 Date: Wed, 1 May 2024 22:59:00 +0900 Subject: [PATCH] feat: level9-clear --- .../backend/likelion/todos/todo/TodoController.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/backend/likelion/todos/todo/TodoController.java b/src/main/java/backend/likelion/todos/todo/TodoController.java index 35bb784..9acd2b5 100644 --- a/src/main/java/backend/likelion/todos/todo/TodoController.java +++ b/src/main/java/backend/likelion/todos/todo/TodoController.java @@ -5,6 +5,7 @@ import java.time.YearMonth; import java.util.List; import lombok.RequiredArgsConstructor; +import org.apache.coyote.Response; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -29,7 +30,9 @@ public ResponseEntity create( @RequestBody TodoCreateRequest request ) { // TODO [9단계] TodoCreateRequest에서 goalId, content, date를 추출하여 todoService의 save 메소드를 호출하고, 생성된 Todo의 ID로 URI를 생성하여 ResponseEntity를 반환하세요. - return null; + Long saveId = todoService.save(request.goalId(), memberId, request.content(), request.date()); + return ResponseEntity.created(URI.create("/todos/" + saveId)).build(); + } @PostMapping("/{id}/check") @@ -38,6 +41,7 @@ public void check( @PathVariable("id") Long todoId ) { // TODO [9단계] todoId와 memberId를 todoService의 check 메소드에 전달하여 Todo를 완료 상태로 변경하세요. + todoService.check(todoId, memberId); } @PostMapping("/{id}/uncheck") @@ -46,6 +50,7 @@ public void uncheck( @PathVariable("id") Long todoId ) { // TODO [9단계] todoId와 memberId를 todoService의 uncheck 메소드에 전달하여 Todo를 미완료 상태로 변경하세요. + todoService.uncheck(todoId, memberId); } @PutMapping("/{id}") @@ -55,6 +60,7 @@ public void update( @RequestBody TodoUpdateRequest request ) { // TODO [9단계] TodoUpdateRequest에서 content, date를 추출하고, todoId와 memberId를 함께 todoService의 update 메소드에 전달하여 Todo 정보를 업데이트하세요. + todoService.update(todoId, memberId, request.content(), request.date()); } @DeleteMapping("/{id}") @@ -63,6 +69,7 @@ public void delete( @PathVariable("id") Long todoId ) { // TODO [9단계] todoId와 memberId를 todoService의 delete 메소드에 전달하여 Todo를 삭제하세요. + todoService.delete(todoId, memberId); } @GetMapping("/my") @@ -72,6 +79,8 @@ public ResponseEntity> findMine( @RequestParam(value = "month", required = true) int month ) { // TODO [9단계] memberId와 YearMonth.of(year, month)를 todoService의 findAllByMemberIdAndDate 메소드에 전달하여 해당 기간의 모든 Todo를 조회하고, 조회된 정보를 ResponseEntity.ok()에 담아 반환하세요. - return null; + List result = todoService.findAllByMemberIdAndDate(memberId, + YearMonth.of(year, month)); + return ResponseEntity.ok(result); } }