설정 가능한 HTTP 클라이언트
개요
Rapid SDK는 기본 HTTP 클라이언트를 사용하여 API 호출을 실행합니다. 개발자가 HTTP 클라이언트를 더 유연하게 제어할 수 있도록, SDK에서 사용할 자체 HTTP 클라이언트를 전달하는 데 활용할 수 있는 빌더가 제공됩니다. 이 빌더를 사용하면 사용자 정의 설정을 적용하여 HTTP 클라이언트를 생성한 후 이를 SDK에 전달하거나, 애플리케이션에서 이미 사용 중인 클라이언트를 그대로 전달할 수도 있습니다.
HTTP 클라이언트 구성 vs 기본 클라이언트 사용
제공된 기본 클라이언트를 사용하는 것이 SDK를 시작하는 가장 쉬운 방법입니다. 그러나 직접 HTTP 클라이언트를 구성하면 다음과 같은 이점을 얻을 수 있습니다:
- 최적화: Fine-tune 연결 풀링, 타임아웃, 재시도 등 더 나은 성능을 위해 클라이언트를 구성하십시오.
- 통합: 애플리케이션 내에서 이미 구성 및 테스트가 완료된 기존 HTTP 클라이언트를 사용하십시오.
따라서, 성능 향상을 위해 SDK를 최적화하거나 기존 HTTP 클라이언트와 통합하려는 경우, 직접 HTTP 클라이언트를 구성하는 것이 가장 좋은 방법입니다.
HTTP 클라이언트 설정 방법
HTTP 클라이언트를 구성하려 면 OkHttpClient 의 인스턴스를 생성한 다음, 이를 RapidClient 빌더에 전달해야 합니다.
1. 사용자 지정 설정을 적용하여 OkHttpClient 의 인스턴스를 생성합니다. 기존 인스턴스를 사용하거나 새 인스턴스를 생성할 수 있습니다.
예시:
OkHttpClient customClient = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build();OkHttpClient구성에 대한 자세한 내용은 OkHttp 문서를 참조하십시오.
2. OkHttpClient 인스턴스를 RapidClient 빌더( builderWithHttpClient)에 전달합니다.
예시:
RapidClient rapidClient = RapidClient.builderWithHttpClient()
.okHttpClient(customClient)
.key("YOUR_API_KEY")
.secret("YOUR_API_SECRET")
.build();3. 구성된 rapidClient 을 사용하여 평소와 같이 API 호출을 수행합니다.
예시:
GetAvailabilityOperationParams getAvailabilityOperationParams = GetAvailabilityOperationParams.builder()
.checkin("YYYY-MM-DD")
.checkout("YYYY-MM-DD")
.currency("USD")
.language("en_US")
/* ... */
.build();
GetAvailabilityOperation operation = new GetAvailabilityOperation(params);
Response<List<Property>> response = rapidClient.execute(operation);