20231227 (수) TodoApp 막바지
2023. 12. 27. 20:45ㆍTIL
오늘은 일단 TodoCard 부분과 Todo 부분을 완성하고 잘 작동하는지 Swagger로 들어가서 확인도 해봤다.
오늘 작성한 부분 중 내가 직접 응용해서 만들어본 코드
updateTodoStatus 메소드
override fun updateTodoStatus(todoCardId: Long, todoId: Long): TodoResponse{
val todo = todoRepository.findByIdOrNull(todoId)
?: throw ModelNotFoundException("Todo", todoId)
while(true) {
if (todo.status == TodoStatus.INCOMPLETE) {
todo.complete()
break
}
if (todo.status == TodoStatus.COMPLETE) {
todo.incomplete()
break
}
}
return todoRepository.save(todo).toResponse()
}
처음 Todo를 작성하면 기본값으로 INCOMPLETE 상태로 되어있고 이후에 추가로 업데이트하면 INCOMPLETE는 COMPLETE로 COMPLETE는 또 반대로 작동하도록 하고싶었다.
메소드를INCOMPLETE > COMPLETE 메소드와 COMPLETE> INCOMPLETE 메소드로 나눌까도 생각했지만 실제 앱에서는 완료/ 미완료 버튼을 따로 만들어둘것 같지도 않고 토글형식으로 만들것 같아서 하나의 메소드안에 집어넣기로 했다.
처음에는
override fun updateTodoStatus(todoCardId: Long, todoId: Long): TodoResponse{
val todo = todoRepository.findByIdOrNull(todoId)
?: throw ModelNotFoundException("Todo", todoId)
if (todo.status == TodoStatus.INCOMPLETE) {
todo.complete()
}
if (todo.status == TodoStatus.COMPLETE) {
todo.incomplete()
}
return todoRepository.save(todo).toResponse()
}
이런식으로 만들까 생각했지만 조금 살펴보니 if문이 2개이고 서로 계속 반복되는 현상이 생길 것 같아서 while문안에 넣어주고 하나의 작업이 끝나면 break 하는 형식으로 만들어봤다.
오늘의 한마디 : 음.. 오늘은 패스
'TIL' 카테고리의 다른 글
20231229 (금) 금요일TIL (1) | 2023.12.29 |
---|---|
20231228 (목) TodoApp 완성 (1) | 2023.12.28 |
20231226 (화) TodoApp 제작기 (0) | 2023.12.26 |
20231222 (금) CourseRegistration 앱 마무리, Todo 앱 만들기 시작 (1) | 2023.12.22 |
20231221 (목) CourseRegistration 만들기 (1) | 2023.12.21 |