2014-11-21 6 views
2

Retrofit을 사용하여 Android 용 REST API 클라이언트에서 작업하고 있습니다. 일부는 다음과 같은 용도로 사용됩니다. http://my.backend.com 등은 https://my.backend.com을 사용합니다. 내가 찾은 방법은 두 개의 분리 된 인터페이스를 만들고 다른 종단점이있는 두 개의 RestAdapter를 만드는 것입니다. 하지만 내 인터페이스를 유지하고 싶습니다. 예를 들어 my.backend.com으로 Res 어댑터를 빌드하고 메토가 @HTTPS annotation으로 https를 사용해야하는지 여부를 지정할 수 있는지 궁금합니다. 감사합니다. .HTTP/HTTPS 요청 (Retrofit 포함)

답변

0

빌드 한 후에 RestAdapter에서 변경할 수있는 유일한 것은 log level이므로 유일한 해결 방법은 RestAdapter 2 개입니다. 그러나 두 엔드 포인트 (my.backend.com) 이후의 경로가 http 및 https 버전 모두에서 동일하면 두 개의 별도 인터페이스가 필요하지 않습니다.

0

개조를 반환하고 하나의 인터페이스 만 유지하는 다음과 같은 일반적인 방법을 사용할 수 있습니다. "baseUrl"은 "http"또는 "https"URL 일 수 있습니다.

public static Retrofit getRetrofit(@NotNull String baseUrl) { 
    return new Retrofit.Builder() 
      .baseUrl(baseUrl) 
      .addConverterFactory(GsonConverterFactory.create()) 
      .build(); 
}