Я пытаюсь отправить заголовок http и тело, используя модификацию, но есть ошибка.Может кто-нибудь, пожалуйста, помогите мне?ниже мой код: у меня есть ApiClient следующим образом:
public class ApiClient {
public static Retrofit retrofit = null;
public static Retrofit getApiClient(final String token) {
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
Request request = original.newBuilder()
.header("Authorization", "Bearer "+token)
.method(original.method(), original.body())
.build();
return chain.proceed(request);
}
});
OkHttpClient client = httpClient.build();
if (retrofit == null) {
retrofit = new Retrofit.Builder().baseUrl(BaseUrl.BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
следующий мой интерфейс:
public interface RegisterInterface {
@POST("api/userData/registerNewUserData")
Call<RegisterModel> getData(@Body RequestBody body);
}
И после того, как класс, где мне нужночтобы использовать API:
registerInterface = ApiClient.getApiClient(accessToken).create(RegisterInterface.class);
Call<RegisterModel> call = registerInterface.getData(requestBody);
call.enqueue(new Callback<RegisterModel>() {
@Override
public void onResponse(Call<RegisterModel> call, Response<RegisterModel> response) {
Log.e("code", response.code() + "");
String message = response.body().getMessage();
if (message.equals("success")) {
Toast.makeText(RegisterClass.this, "Data Sent Successfully", Toast.LENGTH_SHORT).show();
finish();
startActivity(getIntent());
}
}
@Override
public void onFailure(Call<RegisterModel> call, Throwable t) {
}
});
}
else {
Toast.makeText(RegisterClass.this, "Please fill all the fields", Toast.LENGTH_SHORT).show();
}
}
});
код состояния 401. Я не знаю, что я сделал не так.Может кто-нибудь, пожалуйста, помогите мне?