Medium Article 읽고 문제에 답하기(이론)
요구 사항
- 지금까지 수강한 교과목을 데이터베이스에 저장
- 웹 페이지 접속 시 인증 유무를 체크
- 인증되었으면 메인 페이지로 이동
- 미인증시 자체적으로 작성한 로그인 폼을 출력하고 입력된 사용자 계정 정보는 DB에 저장
- 메인 페이지에는 다음과 같은 메뉴가 있음
- 학년/학기별 이수 학점 조회
- 수강 신청하기 2021년 1학기에 신청할 예상 교과목을 웹 폼을 통해 입력 받고 해당 데이터에 대한 검증 작업을 실시한 후(오류시 재입력 요청) DB에 저장
- 수강 신청 조회
상세보기 링크 클릭 시 학기별 수강 내역 출력년도 학기 취득 학점 상세보기 ... ... ... ... 2020 1 18 링크 2020 2 18 링크 총계 94 년도 학기 교과목명 교과구분 담당교수 학점 2020 1 정보보안 전선 김남윤 3 2020 1 운영체제 전선 황기태 3 ... ... ... ... ... ... 년도 학기 교과목명 교과구분 담당교수 학점 2021 1 데이터베이스 전선 김영웅 3 2021 1 안드로이드 전지 허준영 3 ... ... ... ... ... ...
요구 사항
기본 소스를 수정하여 Product와 Category를 관리하는 REST API를 구현하기실행 결과
- Product와 Category 정보를 데이터베이스에 삽입
$ cd eCommerce/src/main/resources $ mysql -u root -p $ use eCommerce; $ source data.sql;
- Postman으로 전체 실행 결과를 확인하실 수 있습니다 :)
스크린샷
-
모든 product 조회하기:
GET
http://localhost:8080/ecommerce/api/products
-
특정 product 조회하기:
GET
http://localhost:8080/ecommerce/api/products/{id}
-
product 생성하기:
POST
http://localhost:8080/ecommerce/api/products
-
product 수정하기:
PUT
http://localhost:8080/ecommerce/api/products/{id}
-
product 삭제하기:
DELETE
http://localhost:8080/ecommerce/api/products/{id}
-
모든 category 조회하기:
GET
http://localhost:8080/ecommerce/api/categories
-
특정 category 조회하기:
GET
http://localhost:8080/ecommerce/api/categories/{id}
-
category 생성하기:
POST
http://localhost:8080/ecommerce/api/categories
-
category 수정하기:
PUT
http://localhost:8080/ecommerce/api/categories/{id}
-
category 삭제하기:
DELETE
http://localhost:8080/ecommerce/api/categories/{id}
-
부모 카테고리에 속한 자식 카테고리 조회하기:
GET
http://localhost:8080/ecommerce/api/categories/{parent_id}/subcategories
- 부모 카테고리와 자식 카테고리 연결하기
-
부모 카테고리에 속한 자식 카테고리 제거하기:
DELETE
http://localhost:8080/ecommerce/api/categories/{parent_id}/subcategories
-
카테고리에 속한 모든 product 조회하기:
GET
http://localhost:8080/ecommerce/api/categories/{id}/products
- product를 카테고리에 넣기
-
product를 카테고리에서 제거하기:
DELETE
http://localhost:8080/ecommerce/api/categories/{category_id}/products/{product_id}
-
모든 product 조회하기:
요구 사항
제공된 기본 소스를 기반으로 Spring Boot 2.4.5에서 다음을 수행하기README.md
의 6번 항목에 따라 Postman을 사용하여 Request를 보내고 Response를 보이기- Charlie 계정(권한은 admin, 패스워드는 charliepw)을
data.sql
에 저장하기 - 패스워드는 BCryptPasswordEncoder를 이용하여 해쉬값을 저장
GET /api/products
를 호출했을 때 로그인 화면이 보일 수 있도록 코드를 수정하고 브라우저에서 로그인이 성공적으로 이루어짐을 보이기GET /api/categories/1
요청을 보내고 응답 메시지(hypermedia)를 보인 다음, 이와 관련된 프로그램 소스를 지적하고 설명하기- Category에서 특정 Product를 제거하는 코드 작성하고 결과 보이기
- 응답 상태 코드(status code)는
204 No Content.
로 설정
실행 결과
- Product와 Category 및 User 정보를 데이터베이스에 삽입
$ cd ecommerce-springboot-rest/src/main/resources $ mysql -u root -p $ use ecommerce; $ source data.sql;
- Postman으로 전체 실행 결과를 확인하실 수 있습니다 :)
스크린샷
- 모든 product 조회하기:
GET
http://localhost:8080/api/products - 특정 product 조회하기:
GET
http://localhost:8080/api/products/{id} - product 생성하기:
POST
http://localhost:8080/api/products - product 수정하기:
PUT
http://localhost:8080/api/products/{id} - product 삭제하기:
DELETE
http://localhost:8080/api/products/{id} - 모든 category 조회하기:
GET
http://localhost:8080/api/categories - 특정 category 조회하기:
GET
http://localhost:8080/api/categories/{id} - category 생성하기:
POST
http://localhost:8080/api/categories - category 수정하기:
PUT
http://localhost:8080/api/categories/{id} - category 삭제하기:
DELETE
http://localhost:8080/api/categories/{id} - 부모 카테고리에 속한 자식 카테고리 조회하기:
GET
http://localhost:8080/api/categories/{parent_id}/subcategories - 부모 카테고리와 자식 카테고리 연결하기
- 연결하기:
POST
http://localhost:8080/api/categories/{parent_id}/subcategories/{child_id} - 부모 카테고리에 속한 자식 카테고리 제거하기:
DELETE
http://localhost:8080/api/categories/{parent_id}/subcategories - 카테고리에 속한 모든 product 조회하기:
GET
http://localhost:8080/api/categories/{id}/products - product를 카테고리에 넣기
- 모든 product 조회하기: