코드 그라데이션
입문 과제 라이브코딩 (1) 과제 정보 본문
Spring 입문 주차 개인 과제
🏁 Goal: "스프링 부트로 로그인 기능이 없는 나만의 항해 블로그 백엔드 서버 만들기"
- 학습 과제를 끝내고 나면 할 수 있어요!
- Java를 활용하여 필요한 클래스를 구상할 수 있어요.
- Lombok과 JPA를 이용하여 원하는 데이터베이스를 만들고 활용할 수 있어요.
- Spring Boot를 기반으로 CRUD(Create, Read, Update, Delete) 기능이 포함된 REST API를 만들 수 있어요.
🤔 notification : 과제 주의사항
entity를 그대로 반환하지 말고, DTO에 담아서 반환해주세요!
- 프론트엔드와 백엔드가 느슨하게 결합하는 환경이 ”최근에는” 더 일반적이라고 말씀드렸죠? 앞으로 남은 강의 예제와 실습에서는 html/css/js 즉 뷰도 같이 반환 하겠지만, 과제에는 여러분들이 서버 로직에 더 집중하실 수 있도록 JSON을 반환하는 API형태로 진행하려고 합니다.
- 눈으로 직접 확인 할 수 있었던 view와는 다르게, 여러분들이 과제를 진행하시려면 서버가 반환하는 결과값을 더 쉽게 확인 하실 수 있는 도구가 필요합니다. 바로 PostMan 입니다. 사용법은 아래 페이지에서 꼭 확인해주세요!
🚩 Requirement: 과제에 요구되는 사항이에요.
⚠️ 아래의 요구사항에 맞는 API 명세서를 작성해 보고 프로젝트를 생성해 직접 구현해 보세요!
✅ 서비스 완성 요구사항
- 아래의 요구사항을 기반으로 Use Case 그려보기
- 손으로 그려도 됩니다.
- cf. https://narup.tistory.com/70
- 전체 게시글 목록 조회 API
- 제목, 작성자명, 작성 내용, 작성 날짜를 조회하기
- 작성 날짜 기준 내림차순으로 정렬하기
- 게시글 작성 API (2월 6일(월)까지 17:00 완료)
- 제목, 작성자명, 비밀번호, 작성 내용을 저장하고
- 저장된 게시글을 Client 로 반환하기
- 선택한 게시글 조회 API
- 선택한 게시글의 제목, 작성자명, 작성 날짜, 작성 내용을 조회하기 (검색 기능이 아닙니다. 간단한 게시글 조회만 구현해주세요.)
- 선택한 게시글 수정 API (2월 7일(화)까지 17:00 완료)
- 수정을 요청할 때 수정할 데이터와 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
- 제목, 작성자명, 작성 내용을 수정하고 수정된 게시글을 Client 로 반환하기
- 선택한 게시글 삭제 API (2월 8일(수)까지 17:00 완료)
- 삭제를 요청할 때 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
- 선택한 게시글을 삭제하고 Client 로 성공했다는 표시 반환하기
📌 개발한 API 테스트 해보기!
- Postman을 이용해 HTTP 메서드 요청을 시도해 보세요!
🔥 꼭 직접 API 명세서를 작성해 본 다음에 확인하세요!!
❓ Why: 과제 제출시에는 아래 질문을 고민해보고 답변을 함께 제출해주세요.
- 수정, 삭제 API의 request를 어떤 방식으로 사용하셨나요? (param, query, body)
- 어떤 상황에 어떤 방식의 request를 써야하나요?
- RESTful한 API를 설계했나요? 어떤 부분이 그런가요? 어떤 부분이 그렇지 않나요?
- 적절한 관심사 분리를 적용하였나요? (Controller, Repository, Service)
- API 명세서 작성 가이드라인을 검색하여 직접 작성한 API 명세서와 비교해보세요!
⚠️ Warning : 꼭 지켜야 할 것과 하지 않아도 되는 것!
- 배포는 아직 배우지 않았어요. 프로젝트 Github 링크를 제출해주세요. (배포는 다음주에 배울 예정이에요!)
- 이것은 꼭 지켜주세요(Do's)
- 과제 요구 사항은 모두 지켜주세요. 특정 기능을 임의로 배제하면 안 됩니다!
- 이것은 하지 않으셔도 돼요(Don'ts)
- 과제 추가 기획 때문에 고민하지 마세요. 위에 작성된 과제 요구 사항만 지키면 됩니다!→ 나쁜 예 (❌ ): "로그인 없어도 되나? 다른 기능이 더 있어야 하지 않을까?"
- → 좋은 예 (⭕ ): "아하, 결국 Spring Boot로 기본 CRUD 가 가능한 서비스를 만들면 되는거구나!"
728x90
'Spring > CRUD 연습' 카테고리의 다른 글
입문 과제 라이브코딩 (3) 자세한 설명 추가 (0) | 2023.02.04 |
---|---|
입문 과제 라이브코딩 (2) 완성한 코드 (0) | 2023.02.04 |
Comments