-
kafka & zookeeper
-
Producer
// 별점 등록 시 Rating 정보 JSON 형태로 kafka 토픽에 등록 private void sendMessage(Rating rating) { log.info(String.format("#### -> Producing message -> %s", rating.toString())); this.ratingKafkaTemplate.send(TOPIC, rating); }
-
Consumer
// 토픽 등록된 정보를 가져와서 해당 정보를 출력 @KafkaListener(topics = TOPIC, groupId = "rating", containerFactory = "greetingKafkaListenerContainerFactory") public void consume(Rating rating) { System.out.printf("Consumed message : %s%n", rating.getRatingId()); }
GET
/lecture
(강의 리스트 조회)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required elements
Integer[] 강의ID 목록 O
GET
/lectures/{lectureId}
(강의 열람)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required lectureId
Integer 강의 ID O
name type Description Required title
String 강의명 O location
String 강의 장소 O
GET
/lectures/{lectureId}/contents
(콘텐츠 리스트 조회)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required elements
Integer[] 콘텐츠 ID 목록 O
GET
/lectures/{lectureId}/contents/{contentId}
(콘텐츠 열람)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required content
String 콘텐츠 O examYn
String 시험유무
GET
/lectures/{lectureId}/score
(성적 조회)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required score
String 성적 O comment
String 코멘트
GET
/lectures/{lectureId}/rating
(별점 리스트 조회)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required elements
Integer[] 별점 ID 목록 O average_rating
String 별점 평균
GET
/lectures/{lectureId}/rating/{ratingId}
(별점 조회)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required rating
Float 별점 O comment
String 코멘트
POST
/lectures
(강의 개설)
| name | Description | Required | ------|--------|------------------|-----------| |
Authorization
| 사용자 인증 수단, 액세스 토큰 값 | O |
| name | type | Description | Required | ------|--------|------------|----------------|---| |
title
| String | 강의명 | O | |location
| String | 강의장소 | |
| name | type | Description | Required | ----------------|--------|------------|----------------|---| |
lectureId
| Integer | 강의 ID | O |
POST
/lectures/{lectureId}/enrolment
(수강 신청)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required userId
Integer 회원 ID O
name type Description Required enrolmentId
Integer 수강신청 ID O
POST
/lectures/{lectureId}/matching
(강사 매칭)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required lectureId
Integer 강의 ID O userId
Integer 강사 회원 ID O
name type Description Required matchingId
Integer 매칭 ID O
POST
/lectures/{lectureId}/contents
(컨텐츠 등록)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required content
String 컨텐츠 O examYn
String 시험유무
name type Description Required contentId
Integer 콘텐츠 ID O
POST
/lectures/{lectureId}/score/{userId}
(성적 입력)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required score
String 성적 O comment
String 코멘트
name type Description Required scoreId
Integer 성적 ID O
POST
/lectures/{lectureId}/rating
(별점 입력)
name Description Required Authorization
사용자 인증 수단, 액세스 토큰 값 O
name type Description Required rating
Float 별점 O comment
String 코멘트
name type Description Required ratingId
Integer 별점 ID O