Я использую сгенерированный код swaggercodegen для доступа к веб-службе REST.Он использует библиотеку okttp 2.7.5 для базовой http-связи.Это постоянно выдает java.lang.NullPointerException
, например, приведенную ниже трассировку стека:
java.lang.NullPointerException
at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:232)
at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205)
at com.squareup.okhttp.Call.execute(Call.java:80)
Похоже, что рассматриваемая оскорбительная строка находится на втором месте ниже:
Interceptor interceptor = client.interceptors().get(index);
Response interceptedResponse = interceptor.intercept(chain);
Теперь она будет выдавать NullPointerException
на второй строке, только если перехватчик нулевой.Не уверен, почему он получает объект из списка, который является нулевым?
Стоит отметить, что мы настраиваем пользовательский перехватчик для удаления заголовка Content-Type
из запроса следующим образом:
api.getApiClient().getHttpClient().interceptors().add(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request newRequest = chain
.request()
.newBuilder()
.removeHeader("Content-Type")
.build();
return chain.proceed(newRequest);
}
});
Вышеупомянутый метод вызывается из нестатического метода.
Любое понимание того, что я делаю неправильно?Или это потенциальная ошибка в охттп?