들어가기 앞서
스터디 영상
스터디 자료
insert into member values (1, 'test');
SQL
복사
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.8'
Groovy
복사
과제 명세가 많이 늦어져서 죄송합니다 ㅠㅠ
4학년 1학기가 생각보다 많이 바쁘네요..
(이미 졸프도 있으니까 4-1에 다른 프로젝트 수업은 조금만 담으세요.. 기학심은 추천합니다ㅎㅎ)
지금까지 스터디를 들으시면서 어려운 점도 많으셨을 텐데, 끝까지 따라오시느라 고생많으셨고, 또 따라와주셔서 감사합니다.
제가 알고 있는 스프링의 기본 지식을 최대한 쉽게 전달하려고 노력했는데, 잘 전달이 되었으면 좋겠습니다.
또 이번 스터디를 계기로 백엔드에 대해 적성을 확인해보시거나 흥미를 갖게 되는 계기가 되셨기를 바라요 
스터디 마지막에 말씀드린 것처럼 지금까지 배운 내용을 기반으로 꼭 직접 프로젝트를 해보시면서 지식을 체화해보시고, 실제 프로젝트에서는 스프링 시큐리티를 거의 필수적으로 쓰기 때문에 꼭 같이 공부하셔서 적용해보시길 추천드립니다.
또 이번 학기는 6주차 안에 모든 내용을 담느라 배포에 대한 부분을 설명드리지 못했는데요
지난 학기 스터디에서 이에 대해 다루었으니 궁금하신 분들은 녹화본을 링크를 확인해주세요
실제로는 AWS 를 활용하는 경우가 많으니, 이에 대해서도 더 찾아보시면 좋습니다.
이것저것 추천을 많이 드린 것 같은데 굉장히 공부할 게 많죠..ㅎㅎ
일단 단순 CRUD api 서버 만들어보고 → 스프링 시큐리티로 인증도 추가로 처리해보고 → 완성한 서버를 한번 수동으로 직접 배포 해보고 → 수동으로 매번 하기 귀찮으니까 깃허브 액션같은 툴로 배포 자동화도 해보기
이렇게 하나씩 계단을 밟아간다는 느낌으로 학습하시면 어느새 다 공부하게 되더라구요
모두 끝까지 화이팅입니다 ㅎㅎ
과제
목표
•
컨트롤러 계층에 유효성 검사 추가
•
GlobalExceptionHandler 다루기
•
에러 메세지 리팩토링하기
•
스웨거로 API 문서화하기
제출해야할 파일과 파일 경로
1.
wil.md (week6 폴더에 넣어주세요)
2.
유효성 검사 추가 , Global Exception Handler 작성, 에러 메세지 리팩토링 하기
3.
스웨거 테스트 스크린샷 (유효성 검사 실패시 에러 결과, 비즈니스 로직 에러시 응답 결과 각 한 장씩)
week6/
└── 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 등 다양한 에러 코드에 대해서도 찾아보고 적용해보셔도 좋을 것 같습니다 
마감 기한
6/3 수요일 23:59 까지 제출해주세요.
자신의 레포지토리에 week6 폴더를 생성해 wil.md 파일을 제출합니다.
더 자세한 사항은 아래 링크를 참조해주세요.