문제 상황

증상

원인 분석

  1. 클라이언트 측 문제
  2. 서버 측 문제

해결한 방법

클라이언트에서 priorityUrgencypriorityImportance의 기본값을 설정하여 nil 값이 서버로 전달되지 않도록 수정

private let defaultPriorityValue = 0.0 // 기본 중요도와 긴급도 값 설정

func createTodo() {
    todoAPIService.createTodo(
        startDate: startDate,
        description: description,
        endDate: endDate,
        tagId: tagId,
        priorityUrgency: priorityUrgency ?? defaultPriorityValue,
        priorityImportance: priorityImportance ?? defaultPriorityValue
    ) { result in
        DispatchQueue.main.async {
            switch result {
            case .success(let response):
                guard let response else { return }
                print("DEBUG: Success - \\(response)")
            case .badRequest:
                print("DEBUG: Error - 잘못된 요청입니다.")
            case .unAuthorized:
                print("DEBUG: Error - 유효하지 않은 토큰입니다.")
            case .serverError:
                print("DEBUG: Error - 내부 서버 에러")
            default:
                print("DEBUG: Error - 에러 발생")
            }
        }
    }
}

priorityUrgencypriorityImportancenil일 경우 기본값(0.0)을 서버로 전송

테스트 및 결과 확인

수정 후 API 호출 시 성공적으로 데이터가 생성되었음을 확인

스크린샷 2025-01-24 10.14.41.png