들어가기 앞서
모두 이번 주 스터디도 수고 많으셨습니다!
이젠 정말로 스프링 프레임워크를 사용한 웹 개발의 전반을 모두 훑어보았으니 만들어 보고 싶은 프로젝트도 충분히 하실 수 있을거에요.
(물론 로그인과 같은 사용자 인증을 위한 spring security 와 같이 더 실제로 사용가능한 어플리케이션을 만들려면 공부해야 할 도구는 더 있긴 합니다..ㅎㅎ)
이번 주 과제는 스터디에서 말씀드린대로 유효성 검사, 전역 예외 처리, 에러 메세지 리팩토링을 해주시면 됩니다.
과제
목표
•
유효성 검사 하기
•
GlobalExceptionHandler 다루기
•
에러 메세지 리팩토링하기
제출해야할 파일과 파일 경로
1.
2.
유효성 검사 추가 , Global Exception Handler 작성, 에러 메세지 리팩토링 하기
3.
포스트맨 테스트 스크린샷 (유효성 검사 실패시 에러 결과, 비즈니스 로직 에러시 응답 결과 각 한 장씩)
week10/
└── wil.md
└── 포스트맨 테스트 유효성 검사 실패/비즈니스 로직 에러 스크린샷
todoapi/
└── main/
└──── java/
└────── com.example.todoapi/
└──────── common/
└────────── dto/
└──────────── ErrorResponse.java
└──────────── ...
└────────── exception/
└──────────── BadRequestException.java
└──────────── ...
└────────── message/
└──────────── ErrorMessage.java
└──────────── ...
└────────── GlobalExceptionHandler.java
└──────── todo/
└────────── dto/
└──────────── TodoCreateRequest.java
└──────────── TodoUpdateRequest.java
└──────────── TodoResponse.java
└────────── Todo.java
└────────── TodoRepository.java
└────────── TodoService.java
└────────── TodoController.java
└──────── member/
└────────── Member.java
└────────── MemberRepository.java
└────────── MemberService.java
└────────── MemberController.java
└────── ...
JSON
복사
참고용 폴더 구조입니다.
에러 처리와 관련된 모든 것들(Global Exception Handler, ErrorMessage, Custom Exception Class 등)을 common/exception 패키지에 몰아넣어도 되고, 위 예시 구조처럼 하셔도 괜찮습니다. 자유롭게 패키지 구조를 설계해주세요.
에러는 기본 에러가 아닌 커스텀 에러 Response 객체로 응답이 와야 하고, 500이 아닌 적절한 상태 코드로 응답하도록 만들어주세요.
만들어보시면서 400, 404, 409 등 다양한 에러 코드에 대해서도 찾아보고 적용해보셔도 좋을 것 같습니다
마감 기한
마지막 스터디가 시작하는 11월 20일 수요일 23:59 까지 제출해주세요.
제출 방법
자신의 레포지토리에 week10 폴더를 생성해 wil.md 파일을 제출합니다.
더 자세한 사항은 아래 링크를 참조해주세요.