Service
home
WOW Onboarding
home
🧩

[백엔드 정규 스터디 6주차 과제]

들어가기 앞서

스터디 영상

스터디 자료

[정규 백엔드 스터디] 6주차.pdf
791.9KB
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
복사
OpenAPI 형식 살펴보기
http://localhost:8080/v3/api-docs
과제 명세가 많이 늦어져서 죄송합니다 ㅠㅠ 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 까지 제출해주세요.