Cliente HTTP configurável
Visão geral
O Rapid SDK usa um cliente HTTP subjacente para executar chamadas de API. Para dar aos desenvolvedores mais controle sobre o cliente HTTP, é fornecido um construtor que pode ser usado para passar seu próprio cliente HTTP para o SDK usar. Usando este construtor, você pode criar um cliente HTTP com suas próprias configurações e passá-lo para o SDK, ou até mesmo passar um cliente que você já esteja usando em seu aplicativo.
Configurando um cliente HTTP vs. usando o cliente padrão
Usar o cliente padrão fornecido é a maneira mais fácil de começar a usar o SDK. Entretanto, configurar seu próprio cliente HTTP irá beneficiá-lo das seguintes maneiras:
- Otimização: Ajuste o cliente para melhor desempenho, como pool de conexões, tempos limite e novas tentativas.
- Integração: Use um cliente HTTP existente que já esteja configurado e testado em seu aplicativo.
Então, se você está procurando otimizar o SDK para melhor desempenho ou integrá-lo com um cliente HTTP existente, configurar seu próprio cliente HTTP é o caminho a seguir.
Como configurar seu cliente HTTP
Para configurar seu cliente HTTP, você precisa criar uma instância de OkHttpClient
e passá-la para o construtor RapidClient
.
1. Crie uma instância de OkHttpClient
com suas configurações. Você pode usar uma instância existente ou criar uma nova.
Exemplo:
OkHttpClient customClient = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build();
Para obter mais informações sobre como configurar o OkHttpClient
, consulte a documentação do OkHttp.
2. Passe a instância OkHttpClient
para o construtor RapidClient``builderWithHttpClient
.
Exemplo:
RapidClient rapidClient = RapidClient.builderWithHttpClient()
.okHttpClient(customClient)
.key("YOUR_API_KEY")
.secret("YOUR_API_SECRET")
.build();
3. Use o rapidClient
configurado para fazer chamadas de API como de costume.
Exemplo:
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);