도메인 제약(요구) 사항
- 각 강의의 강사는 딱 한 명
- 강사는 여러 개의 강의를 진행할 수 있음
- 각 강의는 하나의 카테고리에만 속함 (카테고리: 국어, 수학, 영어, 과학, 사회)
- 각 강의의 수강생은 여러 명
- 수강생도 여러 강의를 수강할 수 있음. 단, 같은 강의를 여러 번 신청할 수는 없음
내가 짠 API Spec이다.
GET/lectureshttps://localhost:8080/lecturesid (Long): 강의 IDtitle (String): 강의 제목teacherName (String): 강사 이름price (Number): 강의 가격count (Number): 수강생 수category (Category): 강의 카테고리createTime (LocalDateTime): 강의 등록 일시GET/lectures/{lectureId}https://localhost:8080/lectures/1lectureId (Long): 강의 IDid (Long): 강의 IDtitle (String): 강의 제목introduce (String): 강의 소개price (Number): 강의 가격studentCount (Number): 수강생 수nickName (String): 수강생 닉네임enrollmentTime (LocalDateTime): 수강 신청 일시category (Category): 강의 카테고리createTime (LocalDateTime): 강의 등록 일시updateTime (LocalDateTime): 마지막 업데이트 일시POST/lectureshttps://localhost:8080/lecturestitle (String): 강의 제목introduce (String): 강의 소개price (Number): 강의 가격category (Category): 강의 카테고리teacherName (String): 강사 이름createTime (LocalDateTime): 강의 등록 일시id (Long): 강의 IDtitle (String): 강의 제목introduce (String): 강의 소개price (Number): 강의 가격category (Category): 강의 카테고리teacherName (String): 강사 이름createTime (LocalDateTime): 강의 등록 일시DELETE/lectures/{lectureId}https://localhost:8080/lectures/1lectureId (Long): 강의 IDid (Long): 삭제된 강의 IDPUT/lectures/{lectureId}https://localhost:8080/lectures/1lectureId (Long): 강의 IDtitle (String): 강의 제목introduce (String): 강의 소개price (Number): 강의 가격id (Long): 수정된 강의 IDtitle (String): 수정된 강의 제목introduce (String): 수정된 강의 소개price (Number): 수정된 강의 가격category (Category): 수정된 강의 카테고리updateTime (LocalDateTime): 수정 일시POST/members/signuphttps://localhost:8080/members/signupemail (String): 이메일nickName (String): 닉네임id (Long): 회원 IDemail (String): 이메일nickName (String): 닉네임Delete/members/{memberId}https://localhost:8080/members/1id (Long): 회원 IDid (Long): 회원 IDPOST/lectures/{lectureId}https://localhost:8080/lectures/1id (Long): 강의 IDid (Long): 회원 IDid (Long): 강의 IDid (Long): 회원 ID이렇게 나눠봤다. 일단, 1차적인 CRUD를 작성해보고, 그 추가적인 기능을 작성해봐야겠다