Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Я верю, что джерси использует джексон для сериализации. Для исключения нулевых полей из сериализованного json попробуйте аннотировать целевой класс с помощью @JsonInclude(Include.NON_NULL)
. Как объяснено в этой записи.
Если вы не можете изменять объекты, вы должны настроить свой собственный ObjectMapper:
@Provider
public class MyObjectMapperProvider implements ContextResolver<ObjectMapper> {
final ObjectMapper mapper;
public MyObjectMapperProvider() {
mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
}
@Override
public ObjectMapper getContext(Class<?> type) {
return mapper
}
}
, а затем зарегистрировать своего настраиваемого поставщика клиенту:
Client client = ClientBuilder
.newClient()
.register(MyObjectMapperProvider.class)
.register(JacksonFeature.class);
описано здесь