Каналът на Jersey REST в weblogic върна „null“ вместо сериализиран JSON - няма грешка

Имам Джърси REST канал, внедрен в weblogic. Всички методи са конфигурирани да връщат JSON данни. Джърси използва Джаксън вътре. Един от тези методи работи през цялото време и връща правилните данни, но другият връща 'null'. Буквално това означава, че на екрана е изписано „нула“. Но методът определено не връща нула, защото регистрирам всичко.

Изглежда няма грешка, тъй като в регистрационните файлове не се отпечатва грешка и зададох ниво „ИНФО“ за root регистратор в конфигурацията на log4j. Така че съм малко изгубен - нямам представа какво може да не е наред, когато не се докладва грешка и се връща просто null. Някой може ли да помогне? Как поне да разберете какво не е наред?

--редактиране--

В моя случай това беше причинено от липсващи гетери/сетери в полета на клас на отговор. Има конструктор, който е ползван от GSON, но не и джърси/джаксън. Но досадното е, че тези инструменти просто върнаха нула и не хвърлиха изключение. Така че все пак въпросът е как да се отстраняват грешки при такива грешки, възможно ли е да се принуди jersey/jackson да отпечата проблемите, които намират, а не такова детско поведение;)


person Danubian Sailor    schedule 31.01.2012    source източник
comment
Кой инструмент върна нула? Какво общо има конструкторът със сериализирането на JSON (те се използват само за десериализация, т.е. при четене на JSON, създаване на обекти)?   -  person StaxMan    schedule 02.02.2012
comment
Но като цяло няма нищо лошо в връщането на null от обвързване на данни; или напишете JSON със стойност 'null'. Какво точно трябва да се хвърли и защо? Имате ли примери за кодове? Какъв всъщност е конкретният проблем тук?   -  person StaxMan    schedule 02.02.2012


Отговори (2)


Проверихте ли метода toString на върнатия обект?

person David Grant    schedule 31.01.2012
comment
Точно това пиша в логове. И обектът е коректен и завършен. - person Danubian Sailor; 31.01.2012
comment
Не беше проблемът, но все пак проблемът с кода. Все още очаквам инструментът да отпечата грешката, вместо просто да върне нула. - person Danubian Sailor; 01.02.2012
comment
Можете ли да добавите модулни тестове за сериализация/десериализация на вашите обекти с Jackson? - person David Grant; 01.02.2012
comment
@lechlukasz Какво точно би било грешка? Null е напълно приемлива JSON стойност за сериализиране в общия случай. - person StaxMan; 02.02.2012
comment
Грешката беше, че стойността не беше сериализирана, но тази грешка не беше показана никъде. - person Danubian Sailor; 02.02.2012

Справих се с проблема, като използвах gson за сериализирам ръчно обекти в JSON и декларирах върнатия от функцията тип на String и нямах проблеми с внедряването и използването му под weblogic и с грешки при отстраняване на грешки, така че това е моето решение, което работи за мен и бих препоръчал на всеки, който има подобни проблеми.

person Danubian Sailor    schedule 08.02.2012