-
Notifications
You must be signed in to change notification settings - Fork 0
Description
이슈 배경
- AI 서버(
n8n webhook)와 연동하여 링크 최초 요약 및 요약 재생성 기능을 수행하는 클라이언트를 구현함. - 기존 Mock 구현체를 제거하고 Feign Client를 통해 실제 외부 API를 호출하도록 변경함.
이슈 내용
1. API 명세 구현 (RagSummaryClient)
A. 최초 요약 요청 (generateSummary)
- Endpoint:
POST /webhook/summary-initial - Request:
{ "linkId": 103, "userId": 2, "title": "Spring Boot 공식문서", "url": "https://...", "memo": "3.2 릴리스 노트" } - Response:
SummarizeRes(JSON Array)- List 형태로 반환
summary: 새로 생성된 요약.
[ { "summary": "**Spring Boot 리뷰**\n\n스프링 부트는 쉽게 서빙을 위한..." } ]
B. 요약 재생성 요청 (regenerateSummary)
- Endpoint:
POST /webhook/summary-resummarize - 동작: 새로 생성된 요약문과 기존 요약 대비 차이점을 반환함.
- Request
linkId: 링크 ID (Integer).userId: 요청한 사용자 ID (Integer).url: 원본 링크 URL (String).summary: 기존 요약 내용 (String) - AI가 이전 내용과 비교하기 위해 필요함.
{ "linkId": 103, "userId": 1, "url": "https://spring.io/projects/spring-boot", "summary": "기존 요약 내용입니다..." } - Response:
ReSummarizeRes(JSON Array)- List 형태로 반환
summary: 새로 생성된 요약.difference: 기존 요약과의 차이점 또는 개선된 점.
[ { "summary": "**Spring Boot 리뷰**\n\n스프링 부트는 쉽게 서빙을 위한...", "difference": "요약된 텍스트는 이전보다 더 자세하고 구조화된 정보를 제공합니다." } ]
2. 서비스 로직 구현
RealAiSummaryClient:AiSummaryClient인터페이스의 구현체 작성, 프로파일 분리AiSummaryFeigin: AI 요약 서버 연동 Feign 클라이언트 작성- DTO 정의
4. 예외 처리
- Fallback: 외부 서버 통신 실패(Timeout, 5xx) 시, 트랜잭션 롤백 없이 에러 로그를 남기고
null또는 실패 응답을 반환하여 메인 로직에 영향을 주지 않도록 함(Soft Fail).
참고 자료
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels