validateEagerly()
(Retrofit 2.0 beta 2)方法到底能做什么?
在哪里可以使用此方法?
JavaDoc表示When calling create on the resulting Retrofit instance, eagerly validate the configuration of all methods in the supplied interface.
,但此描述不太清楚。
最佳答案
validateEagerly()
验证在构建Retrofit
实例时提供的配置。这将检查您的接口注释中是否存在有效的Retrofit注释,检查参数和方法参数(如果它们与注释集一致),还将检查可能的错误方法返回类型(不同于Call<T>
)。
通常在构建Retrofit
实例之前调用检查。
private Retrofit getRetrofit() {
OkHttpClient okClient = getOkHttpClient();
GsonBuilder builder = getGsonBuilder();
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
retrofitBuilder.client(okClient);
retrofitBuilder.baseUrl(API_ENDPOINT);
retrofitBuilder.addConverterFactory(GsonConverterFactory.create(builder.create()));
retrofitBuilder.validateEagerly();
return retrofitBuilder.build();
}
如果某些内容无效,它会抛出
IllegalArgumentException
并显示不同的消息并引起原因。