❗ 필수 기능 가이드
- 일정을 생성, 조회, 수정, 삭제할 수 있습니다.
- 일정은 아래 필드를 가집니다.
작성 유저명
,할일 제목
,할일 내용
,작성일
,수정일
필드작성일
,수정일
필드는JPA Auditing
을 활용합니다. →3주차 JPA Auditing 참고!
❗ 필수 기능 가이드
- 선택한 일정 수정
- 선택한 일정 내용 중할일
,작성자명
만 수정 가능
- 서버에 일정 수정을 요청할 때비밀번호
를 함께 전달합니다.
- 작성일은 변경할 수 없으며,
수정일` 은 수정 완료 시, 수정한 시점으로 변경합니다.
- 선택한 일정 삭제
- 선택한 일정을 삭제할 수 있습니다.
- 서버에 일정 수정을 요청할 때
비밀번호
를 함께 전달합니다.
❗ 필수 기능 가이드
- 작성자와 일정의 연결
- 설명
- 동명이인의 작성자가 있어 어떤 작성자가 등록한 ‘할 일’인지 구별할 수 없음
- 작성자를 식별하기 위해 이름으로만 관리하던 작성자에게 고유 식별자를 부여합니다.
- 작성자를 할 일과 분리해서 관리합니다.
- 작성자 테이블을 생성하고 일정 테이블에 FK를 생성해 연관관계를 설정해 봅니다.
- 조건
- 작성자는
이름
외에이메일
,등록일
,수정일
정보를 가지고 있습니다.
- 작성자의 정보는 추가로 받을 수 있습니다.(조건만 만족한다면 다른 데이터 추가 가능)
기존 : 고유 식별자를 통해 작성자를 조회할 수 있도록 기존 코드를 변경합니다.
- 변경 : 작성자의 고유 식별자를 통해 일정이 검색이 될 수 있도록 전체 일정 조회 코드 수정.
- 작성자의 고유 식별자가 일정 테이블의 외래키가 될 수 있도록 합니다.
❗ 필수 기능 가이드
- 설명
- 많은 양의 데이터를 효율적으로 표시하기 위해 데이터를 여러 페이지로 나눕니다.
- 페이지 번호
와
페이지 크기`를 쿼리 파라미터로 전달하여 요청하는 항목을 나타냅니다.- 전달받은 페이지 번호와 크기를 기준으로 쿼리를 작성하여 필요한 데이터만을 조회하고 반환
- 조건
- 등록된 일정 목록을
페이지 번호
와크기
를 기준으로 모두 조회- 조회한 일정 목록에는
작성자 이름
이 포함- 범위를 넘어선 페이지를 요청하는 경우 빈 배열을 반환
- Paging 객체를 활용할 수 있음
❗ 필수 기능 가이드
- 설명
- 예외 상황에 대한 처리를 위해
HTTP 상태 코드(링크)
와에러 메시지
를 포함한 정보를 사용하여 예외를 관리할 수 있습니다.
- 필요에 따라 사용자 정의 예외 클래스를 생성하여 예외 처리를 수행할 수 있습니다.
@ExceptionHandler
를 활용하여 공통 예외 처리를 구현할 수도 있습니다.- 예외가 발생할 경우 적절한 HTTP 상태 코드와 함께 사용자에게 메시지를 전달하여 상황을 관리합니다.
- 조건
- 수정, 삭제 시 요청할 때 보내는
비밀번호
가 일치하지 않을 때 예외가 발생합니다.- 선택한 일정 정보를 조회할 수 없을 때 예외가 발생합니다.
- 잘못된 정보로 조회하려고 할 때
- 이미 삭제된 정보를 조회하려고 할 때
❗ 필수 기능 가이드
- 설명
- 유효성 검사
- 잘못된 입력이나 요청을 미리 방지할 수 있습니다.
- 데이터의
무결성을 보장
하고 애플리케이션의 예측 가능성을 높여줍니다.- Spring에서 제공하는
@Valid
어노테이션을 이용할 수 있습니다.- 조건
할일
은 최대 200자 이내로 제한, 필수값 처리비밀번호
는 필수값 처리- 담당자의
이메일
정보가 형식에 맞는지 확인
1. 적절한 관심사 분리를 적용하셨나요? (Controller, Service, Repository)
2. RESTful한 API를 설계하셨나요? 어떤 부분이 그런가요? 어떤 부분이 그렇지 않나요?
3. 수정, 삭제 API의 request를 어떤 방식으로 사용 하셨나요? (param, query, body)
작업 후기
소요시간
: 아직 알 수 없음
난이도
: 상
>> Java : JDBC를 사용한 일정 관리 앱 만들기 GitHub Code 바로가기
다 만들어진 코드는 위의 깃허브에 올려놓았다.