Skip to content

Repository files navigation

web-framework

Web Framework 1

과제 1

과제 2

Medium Article 읽고 문제에 답하기(이론)

과제 3

요구 사항
  1. 지금까지 수강한 교과목을 데이터베이스에 저장
  2. 웹 페이지 접속 시 인증 유무를 체크
    • 인증되었으면 메인 페이지로 이동
    • 미인증시 자체적으로 작성한 로그인 폼을 출력하고 입력된 사용자 계정 정보는 DB에 저장
  3. 메인 페이지에는 다음과 같은 메뉴가 있음
    • 학년/학기별 이수 학점 조회
    • 년도학기취득 학점상세보기
      ............
      2020118링크
      2020218링크
      총계94
      상세보기 링크 클릭 시 학기별 수강 내역 출력
      년도학기교과목명교과구분담당교수학점
      20201정보보안전선김남윤3
      20201운영체제전선황기태3
      ..................
    • 수강 신청하기
    • 2021년 1학기에 신청할 예상 교과목을 웹 폼을 통해 입력 받고 해당 데이터에 대한 검증 작업을 실시한 후(오류시 재입력 요청) DB에 저장
    • 수강 신청 조회
    • 년도학기교과목명교과구분담당교수학점
      20211데이터베이스전선김영웅3
      20211안드로이드전지허준영3
      ..................
실행 결과
  • 로그인
  • 메인 페이지
  • 학년/학기별 이수 총 학점
  • 2020-1 수강 내역
  • 2021-1 수강신청 폼
  • 수강신청 완료
  • 2021-1 수강 신청 내역

Web Framework 2

과제 1

요구 사항기본 소스를 수정하여 Product와 Category를 관리하는 REST API를 구현하기
실행 결과
  • Product와 Category 정보를 데이터베이스에 삽입
    $ cd eCommerce/src/main/resources
    $ mysql -u root -p
    $ use eCommerce;
    $ source data.sql;
  • Postman으로 전체 실행 결과를 확인하실 수 있습니다 :)

    Run in Postman

    Details

    스크린샷
    1. 모든 product 조회하기: GET http://localhost:8080/ecommerce/api/products
      View all products
    2. 특정 product 조회하기: GET http://localhost:8080/ecommerce/api/products/{id}
      View product
    3. product 생성하기: POST http://localhost:8080/ecommerce/api/products
      Create product
    4. product 수정하기: PUT http://localhost:8080/ecommerce/api/products/{id}
      Update product
    5. product 삭제하기: DELETE http://localhost:8080/ecommerce/api/products/{id}
      Remove product
    6. 모든 category 조회하기: GET http://localhost:8080/ecommerce/api/categories
      View all categories
    7. 특정 category 조회하기: GET http://localhost:8080/ecommerce/api/categories/{id}
      View category
    8. category 생성하기: POST http://localhost:8080/ecommerce/api/categories
      Create category
    9. category 수정하기: PUT http://localhost:8080/ecommerce/api/categories/{id}
      Update category
    10. category 삭제하기: DELETE http://localhost:8080/ecommerce/api/categories/{id}
      Remove category
    11. 부모 카테고리에 속한 자식 카테고리 조회하기: GET http://localhost:8080/ecommerce/api/categories/{parent_id}/subcategories
      View child categories
    12. 부모 카테고리와 자식 카테고리 연결하기
      1. 서브 카테고리 생성하기: POST http://localhost:8080/ecommerce/api/categories
        Create subcategory
      2. 연결하기: POST http://localhost:8080/ecommerce/api/categories/{parent_id}/subcategories/{child_id}
        Connect parent and child category
    13. 부모 카테고리에 속한 자식 카테고리 제거하기: DELETE http://localhost:8080/ecommerce/api/categories/{parent_id}/subcategories
      Remove child from parent category
    14. 카테고리에 속한 모든 product 조회하기: GET http://localhost:8080/ecommerce/api/categories/{id}/products
      View all products belongs category
    15. product를 카테고리에 넣기
      1. product 생성하기: POST http://localhost:8080/ecommerce/api/products
        Create product
      2. 카테고리에 넣기: POST http://localhost:8080/ecommerce/api/categories/{category_id}/products/{product_id}
        Put product into category
    16. product를 카테고리에서 제거하기: DELETE http://localhost:8080/ecommerce/api/categories/{category_id}/products/{product_id}
      Delete product from category

    과제 2

    요구 사항 제공된 기본 소스를 기반으로 Spring Boot 2.4.5에서 다음을 수행하기
    1. README.md의 6번 항목에 따라 Postman을 사용하여 Request를 보내고 Response를 보이기
    2. Charlie 계정(권한은 admin, 패스워드는 charliepw)을 data.sql에 저장하기
      • 패스워드는 BCryptPasswordEncoder를 이용하여 해쉬값을 저장
      • GET /api/products를 호출했을 때 로그인 화면이 보일 수 있도록 코드를 수정하고 브라우저에서 로그인이 성공적으로 이루어짐을 보이기
    3. GET /api/categories/1 요청을 보내고 응답 메시지(hypermedia)를 보인 다음, 이와 관련된 프로그램 소스를 지적하고 설명하기
    4. 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으로 전체 실행 결과를 확인하실 수 있습니다 :)

      Run in Postman

      Details

      스크린샷

      1.Postman으로 Request & Response

      1. 모든 product 조회하기: GET http://localhost:8080/api/products
      2. View all products

      3. 특정 product 조회하기: GET http://localhost:8080/api/products/{id}
      4. View product

      5. product 생성하기: POST http://localhost:8080/api/products
      6. Create product

      7. product 수정하기: PUT http://localhost:8080/api/products/{id}
      8. Update product

      9. product 삭제하기: DELETE http://localhost:8080/api/products/{id}
      10. Remove product

      11. 모든 category 조회하기: GET http://localhost:8080/api/categories
      12. View all categories

      13. 특정 category 조회하기: GET http://localhost:8080/api/categories/{id}
      14. View category

      15. category 생성하기: POST http://localhost:8080/api/categories
      16. Create category

      17. category 수정하기: PUT http://localhost:8080/api/categories/{id}
      18. Update category

      19. category 삭제하기: DELETE http://localhost:8080/api/categories/{id}
      20. Remove category

      21. 부모 카테고리에 속한 자식 카테고리 조회하기: GET http://localhost:8080/api/categories/{parent_id}/subcategories
      22. View subcategories

      23. 부모 카테고리와 자식 카테고리 연결하기
        1. 서브 카테고리 생성하기: POST http://localhost:8080/api/categories
        2. Create subcategory

        3. 연결하기: POST http://localhost:8080/api/categories/{parent_id}/subcategories/{child_id}
        4. Connect parent and child category

      24. 연결하기: POST http://localhost:8080/api/categories/{parent_id}/subcategories/{child_id}
      25. Connect parent and child category

      26. 부모 카테고리에 속한 자식 카테고리 제거하기: DELETE http://localhost:8080/api/categories/{parent_id}/subcategories
      27. Remove child from parent category

      28. 카테고리에 속한 모든 product 조회하기: GET http://localhost:8080/api/categories/{id}/products
      29. View all products belonging category

      30. product를 카테고리에 넣기
        1. product 생성하기: POST http://localhost:8080/api/products
        2. Create product

        3. 카테고리에 넣기: POST http://localhost:8080/api/categories/{category_id}/products/{product_id}
        4. Put product into category

      31. 2. Charlie의 계정을 data.sql에 저장하고 로그인 확인

        Charlie's login

        4. Category에서 특정 Product 제거

        Remove product from category

    Contributors

    Languages