Используя jackson 2.1, как мне отключить то, fail_on_empty beans
что сообщение об ошибке требует, чтобы я отключил?
Я предполагаю, что это самая простая вещь в мире, но, черт возьми, уже поздно, и я не смог найти простой учебник или что-то особенно очевидное из api
. SerializationFactory
? Почему они сделали его таким неинтуитивным, а затем сделали сообщение об ошибке таким простым?
Хотя мне и нравится сообщение об ошибке, я имею в виду, что оно лучше, чем NPE.
Я предполагаю, что есть способ сделать это с помощью аннотаций, но я совсем не заинтересован в их использовании для той упрощенной работы, которую я выполняю!
@JsonSerialize
для отключенияFAIL_ON_EMPTY_BEANS
объявления класса?Если вы используете Spring Boot, вы можете установить следующее свойство в файле application.properties. spring.jackson.serialization.FAIL_ON_EMPTY_BEANS = ложь
источник
Вы также можете получить ту же проблему, если ваш класс не содержит никаких общедоступных методов / свойств. Обычно у меня есть выделенные DTO для запросов и ответов API, объявленные общедоступными, но в одном случае я забыл сделать также общедоступными методы, что в первую очередь вызвало «пустой» bean-компонент.
источник
Вы также, вероятно, можете аннотировать класс,
@JsonIgnoreProperties(ignoreUnknown=true)
чтобы игнорировать поля, не определенные в классеисточник
Если вы хотите получить объект JSON без каких-либо дополнительных полей - добавьте эту аннотацию в свой класс, у меня она сработала идеально.
Вы также можете добавить эту строку в свой файл application.properties, но это добавит дополнительное поле в ваш JSON.
источник
Если вы используете org.codehaus.jackson.map.ObjectMapper, то пожалуйста. используйте следующие строки
источник
В Jersey Rest Services просто используйте аннотацию JacksonFeatures ...
источник
В моем случае я пропустил запись аннотации @JsonProperty в одном из полей, вызывающих эту ошибку.
источник
Добавление здесь решения для другой проблемы, но проявляющейся с той же ошибкой ... Будьте осторожны при создании json на лету (как ответы api или что-то еще), чтобы избежать буквальных двойных кавычек в элементах строки. Возможно, вы используете свой собственный искаженный файл json.
источник
Чтобы исправить эту проблему, настройте свой класс JsonDataFormat, как показано ниже
что почти эквивалентно,
источник
Здравствуй,
Когда я использую
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false)
Мои значения объекта json приходят '' пустые на угловой странице в ответ
Решено только с помощью настроек ниже
источник
В моем случае мне не нужно было отключать его, мне пришлось поместить этот код поверх своего класса: (и это решило мою проблему)
источник