Repolode
LianjiaTech

LianjiaTech/retrofit-spring-boot-starter

Retrofit HTTP 인터페이스를 재시도, 로깅, 서킷 브레이커 등의 기능을 더해 Spring 관리 빈으로 등록하는 Spring Boot 스타터입니다.

스타
1,916
포크
338
열린 이슈
8
마지막 커밋
2개월 전

어떤 프로젝트인가요?

retrofit-spring-boot-starter를 사용하면 @RetrofitClient가 붙은 일반 Java 인터페이스로 HTTP API를 정의하고, 다른 빈과 마찬가지로 Spring 서비스에 주입할 수 있습니다. Retrofit의 기본 애너테이션을 기반으로 요청을 처리하므로 @GET, @POST, @Query, @Body 및 관련 애너테이션을 Retrofit에서와 동일하게 사용할 수 있습니다.

기본 연동 외에도 응답 자동 변환, 사용자 지정 컨버터, 메서드별 타임아웃, 요청 재시도, 인터셉터, 서킷 브레이커와 폴백, 오류 디코더, Micrometer 메트릭 등의 기능을 설정해 사용할 수 있습니다. 클라이언트는 자동으로 스캔하거나 @RetrofitScan으로 명시적으로 등록할 수 있습니다.

이 프로젝트는 Spring Boot 3.x와 4.x를 대상으로 하며 JDK 17 이상이 필요합니다. Spring Boot 1.x와 2.x 프로젝트는 별도의 2.x 브랜치에서 지원합니다.

핵심 기능

  • 01Retrofit의 기본 애너테이션을 사용해 Java 인터페이스로 HTTP 클라이언트를 정의합니다.
  • 02Spring 컴포넌트 스캔 또는 @RetrofitScan으로 클라이언트를 자동 등록합니다.
  • 03메서드별 타임아웃, 재시도, 서킷 브레이커를 설정할 수 있습니다.
  • 04사용자 지정 컨버터, 인터셉터, 오류 디코더를 지원합니다.
  • 05Micrometer 메트릭과 Spring Boot Actuator 엔드포인트를 지원합니다.
  • 06GraalVM Native Image 및 AOT 빌드를 지원합니다.

활용 사례

  • Spring Boot 서비스에서 재시도와 타임아웃을 적용해 서드파티 REST API를 호출합니다.
  • Spring Boot 애플리케이션 내부에서 타입이 지정된 마이크로서비스 클라이언트를 구축합니다.
  • 직접 연동 코드를 작성하지 않고 아웃바운드 HTTP 호출에 로깅, 메트릭, 서킷 브레이커를 추가합니다.

빠른 시작

  1. 1

    starter 의존성(retrofit-spring-boot-starter 4.2.1)을 pom.xml에 추가합니다

  2. 2

    @RetrofitClient와 Retrofit HTTP 어노테이션을 사용해 인터페이스를 정의합니다

  3. 3

    @Autowired를 사용해 Spring 서비스에 인터페이스를 주입하고 호출합니다

사용 전 알아둘 점

  • JDK 17 이상이 필요합니다.
  • Spring Boot 1.x 및 2.x 프로젝트에서는 starter의 별도 2.x 브랜치를 사용해야 합니다.

포함된 컬렉션

토픽

자주 묻는 질문

retrofit-spring-boot-starter은(는) 무엇인가요?
Retrofit HTTP 인터페이스를 재시도, 로깅, 서킷 브레이커 등의 기능을 더해 Spring 관리 빈으로 등록하는 Spring Boot 스타터입니다. retrofit-spring-boot-starter를 사용하면 @RetrofitClient가 붙은 일반 Java 인터페이스로 HTTP API를 정의하고, 다른 빈과 마찬가지로 Spring 서비스에 주입할 수 있습니다. Retrofit의 기본 애너테이션을 기반으로 요청을 처리하므로 @GET, @POST, @Query, @Body 및 관련 애너테이션을 Retrofit에서와 동일하게 사용할 수 있습니다.
retrofit-spring-boot-starter은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
retrofit-spring-boot-starter은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
retrofit-spring-boot-starter은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. retrofit-spring-boot-starter의 마지막 커밋은 2026년 9월 14일입니다.
retrofit-spring-boot-starter은(는) 어디에 사용할 수 있나요?
Spring Boot 서비스에서 재시도와 타임아웃을 적용해 서드파티 REST API를 호출합니다. Spring Boot 애플리케이션 내부에서 타입이 지정된 마이크로서비스 클라이언트를 구축합니다. 직접 연동 코드를 작성하지 않고 아웃바운드 HTTP 호출에 로깅, 메트릭, 서킷 브레이커를 추가합니다.
retrofit-spring-boot-starter는 어떻게 설치하나요?
starter 의존성(retrofit-spring-boot-starter 4.2.1)을 pom.xml에 추가합니다 @RetrofitClient와 Retrofit HTTP 어노테이션을 사용해 인터페이스를 정의합니다 @Autowired를 사용해 Spring 서비스에 인터페이스를 주입하고 호출합니다
retrofit-spring-boot-starter은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/LianjiaTech/retrofit-spring-boot-starter

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트