Search
Duplicate
🌠

미션 2~6 복습하기

명절 버퍼타임간 2주차 ~ 6주차 미션까지 배운 내용들을 복습한다.
base project는 6주차 미션 에서 catsbi_remind 브랜치를 만든 뒤, 모든 소스파일, 테스트 코드를 삭제하고 진행한다.

미션 요구사항

2주차 - 스프링 웹

Spring Web 이용해서 ToDo REST API를 만들어봅니다.
Marko를 이용해서 웹을 만들고, 만든 REST API와 연결하여 동작하는 ToDo앱을 만들어봅니다.
Marko를 이용한 프론트 학습은 스프링 학습과 거리가 있기에 제외한다.

REST API

ToDo 목록 얻기 - GET /tasks
ToDo 상세 조회하기 - GET /tasks/{id}
ToDo 생성하기 - POST /tasks
ToDo 제목 수정하기 - PUT/PATCH /tasks/{id}
ToDo 삭제하기 - DELETE /tasks/{id}

3주차 - 테스트

: 작성한 코드가 올바르게 동작하는지 확인해줄 수 있는 유닛 테스트 작성을 하는 훈련을 진행한다.
Task 모델 테스트
TaskService 테스트
TaskController 유닛 테스트
TaskController MockMVC 테스트

4주차 - 도메인

:고양이 장난감을 등록하고, 조회하고, 수정하고 삭제하는 기능이 있는 간단한 웹이 있습니다. 이 웹에서 사용할 REST API를 만들어주세요.

고양이 장난감 Structure

{ "name": "장난감 뱀", "maker": "고양이 주식회사", "price": 5000, "imageUrl": "https://sc04.alicdn.com/kf/HTB10TD8ipmWBuNjSspdq6zugXXag.jpg" }
JSON
복사

구현해야 할 API

고양이 장난감 목록 얻기 - GET /products
고양이 장난감 상세 조회하기 - GET /products/{id}
고양이 장난감 등록하기 - POST /products
고양이 장난감 수정하기 - PATCH /products/{id}
고양이 장난감 삭제하기 - DELETE /products/{id}

5주차 - 유효성 검사

회원 Entity structure

{ "email": "catsbi@test.com", "name": "testuser", "password": "password" }
JSON
복사

과제 내용

1.
고양이 장난감가게 API 유효성 검사 추가 및 회원 관리 API 구현
고양이 장난감은 이름, 메이커 그리고 가격은 필수 입력 항목입니다. 이 중에서 하나라도 빠트린 경우에는 처리를 거부하고 웹에게 에러 응답을 전달해야 합니다. 그래야 웹에서 잘못된 경우를 사용자에게 피드백을 줄 수 있습니다. 유효성을 검사하여 올바른 에러 응답을 만들어주세요.
고양이 장난감 목록 얻기 - GET /products
고양이 장난감 상세 조회하기 - GET /products/{id}
고양이 장난감 등록하기 - POST /products
고양이 장난감 수정하기 - PATCH /products/{id}
고양이 장난감 삭제하기 - DELETE /products/{id}
2.
회원 관리하기
회원 생성, 수정, 삭제하기 REST API를 만들어주세요. 회원은 이름, 이메일, 비밀번호는 필수 입력 항목입니다. 만약 잘못된 정보로 회원이 만들어지지 않도록 유효성 검사를 하고 올바른 에러를 웹에게 응답할 수 있도록 만들어 주세요.
회원 생성하기 - POST /user
회원 수정하기 - POST /user/{id}
회원 삭제하기 - DELETE /user/{id}

6주차 - 로그인

: JWT를 이용해 고양이 장난감 등록,수정,삭제 기능은 인증 사용자만이 사용할 수 있도록 한다.

로그인이 필요없는 API

로그인 - POST /session
회원 생성하기 - POST /users
회원 수정하기 - POST /users/{id}
회원 삭제하기 - DELETE /users/{id}
고양이 장난감 목록 얻기 - GET /products
고양이 장난감 상세 조회하기 - GET /products/{id}

로그인이 필요한 API

고양이 장난감 등록하기 - POST /products
고양이 장난감 수정하기 - PATCH /products/{id}
고양이 장난감 삭제하기 - DELETE /products/{id}