Skip to content

[FEATURE] AI 서버에 OCR 요청 기능 구현 #18

@DaeunSon

Description

@DaeunSon

#️⃣ 요청 유형

해당되는 항목을 선택해주세요.

  • 새로운 기능 추가
  • 기존 기능 개선
  • 성능 개선

#️⃣ 어떤 기능인가요?

AI 서버에 OCR 처리를 요청하고 결과를 콜백으로 받는 기능을 구현한다.


#️⃣ 이 기능이 필요한 이유는 무엇인가요?

실제 AI 서버와의 통신을 통해 OCR 처리 결과를 전달받는다

  • 사용자가 업로드한 공지사항 이미지에서 자동으로 텍스트를 추출하여 수동 입력 없이 정보를 파싱할 수 있음
  • AI 서버의 OCR 기능을 활용하여 이미지 내 공지사항의 제목, 날짜, 카테고리 등을 자동으로 인식하고 구조화된 데이터로 변환
  • 현재 구현된 콜백 처리 로직 OcrCallbackRequest와 연동하여 OCR flow를 완성

구현 방안 (선택)

Spring의 WebClient 또는 RestTemplate을 사용하여 AI 서버로 HTTP 요청을 전송함

  1. AI 서버 엔드포인트에 OCR 요청 (API로)
  2. 요청 시 OCRRequest 형태로 데이터 전송 (image_url, title, start_date, end_date, category)
  3. 비동기 처리를 통해 AI 서버 응답 대기 시간 동안 블로킹되지 않도록 구현
  4. 에러 처리 및 재시도 로직 포함

#️⃣ 작업 상세 내용

구현해야 할 작업 내용을 작성해주세요.

  • AI 서버 통신을 위한 WebClient 설정 및 Configuration 클래스 생성
  • OcrAiService.requestOcr() 메서드 구현
    • AI 서버 OCR 요청 API 호출 로직 구현
    • 요청 데이터 매핑 (image_url, title, start_date, end_date, category)
    • 콜백 URL 설정 (AI 서버가 결과를 전송할 엔드포인트)
  • 에러 처리 및 로깅 로직 추가
    • AI 서버 연결 실패 시 예외 처리
    • 타임아웃 설정 및 처리
    • 재시도 로직 구현
  • AI 서버 요청 / 응답 DTO 클래스 생성
  • 단위 테스트 작성
    • 정상 요청 시나리오 테스트
    • 에러 상황 테스트
  • 통합 테스트 (AI 서버와의 실제 통신 테스트)

📎 참고할만한 자료 (선택)

관련 문서, 스크린샷, 또는 예시 등이 있다면 여기에 첨부해주세요.


Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions