Android 使用整个URL更新2.0 beta 1

Android 使用整个URL更新2.0 beta 1,android,retrofit,Android,Retrofit,在改型2.0中,我只想使用一个url。该url与@GET接口中的基本url相同。我面临获取响应的问题。如果有任何一个在@GET中使用整个url的更好解决方案,请建议解决方案。 这是密码 public class RestClient { private static ApiInterface apiInterface ; private static String baseUrl = "here is my whole base url";

在改型2.0中,我只想使用一个url。该url与@GET接口中的基本url相同。我面临获取响应的问题。如果有任何一个在@GET中使用整个url的更好解决方案,请建议解决方案。 这是密码

    public class RestClient {

        private static ApiInterface apiInterface ;

        private static String baseUrl = "here is my  whole base url";



        public static ApiInterface getClient() {
            if (apiInterface == null) {

                OkHttpClient okClient = new OkHttpClient();
                okClient.interceptors().add(new Interceptor() {
                    @Override
                    public Response intercept(Chain chain) throws IOException {
                        Response response = chain.proceed(chain.request());

                        return response;
                    }
                });

                Retrofit client = new Retrofit.Builder()
                        .baseUrl(baseUrl)
                        .addConverter(String.class, new ToStringConverter())
                        .client(okClient)
                        .addConverterFactory(GsonConverterFactory.create())
                        .build();
                apiInterface = client.create(ApiInterface.class);
                Log.e("RETROFIT RESPONCE IS...", client.toString());

            }
            return ApiInterface ;
        }

    public interface ApiInterface {

            @Headers("User-Agent: Retrofit2.0Tutorial-App")
            @GET("here is my  whole base url”)
            Call<EventResult> getEvent();
    }
}
公共类RestClient{
专用静态接口;
私有静态字符串baseUrl=“这是我的整个基本url”;
公共静态接口getClient(){
if(apinterface==null){
OkHttpClient okClient=新的OkHttpClient();
okClient.interceptors().add(新的Interceptor()){
@凌驾
公共响应拦截(链)引发IOException{
响应=chain.procedure(chain.request());
返回响应;
}
});
改装客户端=新建改装.Builder()
.baseUrl(baseUrl)
.addConverter(String.class,新的ToStringConverter())
.客户(okClient)
.addConverterFactory(GsonConverterFactory.create())
.build();
apinterface=client.create(apinterface.class);
Log.e(“改装响应为…”,client.toString());
}
返回接口;
}
公共接口{
@标题(“用户代理:2.0Tutorial-App”)
@获取(“这是我的整个基本url”)
调用getEvent();
}
}

我认为这是不可能的,因为BaseURL在改型生成器中是强制性的,即使您向生成器提供完整的URL,生成器也会解析它并只保存BaseURL。我想他们这样做的原因是为了保持它的简单性和一致性


作为参考,您可以查看源代码

我认为这是不可能的,因为BaseURL在改装生成器中是强制性的,即使您向生成器提供完整的URL,生成器也会解析它并只保存BaseURL。我想他们这样做的原因是为了保持它的简单性和一致性


作为参考,您可以查看源代码

我认为这是不可能的,因为BaseURL在改装生成器中是强制性的,即使您向生成器提供完整的URL,生成器也会解析它并只保存BaseURL。我想他们这样做的原因是为了保持它的简单性和一致性


作为参考,您可以查看源代码

我认为这是不可能的,因为BaseURL在改装生成器中是强制性的,即使您向生成器提供完整的URL,生成器也会解析它并只保存BaseURL。我想他们这样做的原因是为了保持它的简单性和一致性


为了便于参考,您可以查看带有改装2的源代码。可以使用
@Url
注释。假设您的改装配置为

Retrofit builder = new Retrofit.Builder()
                .baseUrl("http://wwww.example.com")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
Test r = builder.create(Test.class);
您声明您的接口:

public interface Test {
      @GET
      Call<Example> getTest(@Url String url);
 }
公共接口测试{
@得到
调用getTest(@Url字符串Url);
}

对于
getTest
,您不想使用在配置中声明的baseUrl。
@Url
将忽略您声明的baseUrl,并将使用您作为参数提供的baseUrl。

如果改型2可以使用
@Url
注释。假设您的改型配置是

Retrofit builder = new Retrofit.Builder()
                .baseUrl("http://wwww.example.com")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
Test r = builder.create(Test.class);
您声明您的接口:

public interface Test {
      @GET
      Call<Example> getTest(@Url String url);
 }
公共接口测试{
@得到
调用getTest(@Url字符串Url);
}

对于
getTest
,您不想使用在配置中声明的baseUrl。
@Url
将忽略您声明的baseUrl,并将使用您作为参数提供的baseUrl。

如果改型2可以使用
@Url
注释。假设您的改型配置是

Retrofit builder = new Retrofit.Builder()
                .baseUrl("http://wwww.example.com")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
Test r = builder.create(Test.class);
您声明您的接口:

public interface Test {
      @GET
      Call<Example> getTest(@Url String url);
 }
公共接口测试{
@得到
调用getTest(@Url字符串Url);
}

对于
getTest
,您不想使用在配置中声明的baseUrl。
@Url
将忽略您声明的baseUrl,并将使用您作为参数提供的baseUrl。

如果改型2可以使用
@Url
注释。假设您的改型配置是

Retrofit builder = new Retrofit.Builder()
                .baseUrl("http://wwww.example.com")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
Test r = builder.create(Test.class);
您声明您的接口:

public interface Test {
      @GET
      Call<Example> getTest(@Url String url);
 }
公共接口测试{
@得到
调用getTest(@Url字符串Url);
}

对于
getTest
,您不想使用在配置中声明的baseUrl。
@Url
将忽略您声明的baseUrl,并将使用您提供的baseUrl作为参数

提供您的代码和问题点。提供您的代码和问题点。提供您的代码和问题点。提供对代码进行反编译,并指出问题所在。