我一直在阅读有关翻新的文章,直达标题,我不知道我是否对它们太了解。在此过程中,我将使用它们与后端中创建的用户和数据库建立身份验证,并以两种不同方式进行身份验证:
private WebServiceBA() {
loggingInterceptor = new HttpLoggingInterceptor();
loggingInterceptor.level(HttpLoggingInterceptor.Level.BODY);
httpClientBuilder = new OkHttpClient.Builder().addInterceptor(loggingInterceptor);
httpClientBuilder.addInterceptor(chain -> {
Request original = chain.request();
Request.Builder requestBuild = original
.newBuilder()
.addHeader("Authorization", AUTH_USER)
.method(original.method(), original.body());
Request request = requestBuild.build();
return chain.proceed(request);
});
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL_BA)
.client(httpClientBuilder.build())
.addConverterFactory(GsonConverterFactory.create())
.build();
}
在第一种形式中,我知道标题正在通过代码传递,但我不理解.method(original.method(), original.body());
。并通过Retrofit调用本身传递它:
@GET("/todos_profesores_admin")
Call<List<ProfesorBA>> listAllProfesorAdmin(@Header("Authorization") String authHeader);
我不知道“授权”是否应该像这样,因为它在后端,或者是一种在代码中调用它的方式。
我想通过在通话中进行操作,在这种情况下,我们有了更大的自由度,因为我们将所需的用户传递给了他,但是我们可以通过Retrofit通话的标题发送其他什么信息,或者它的有用性有多大延伸?非常感谢。