2015-01-30 3 views
0

Привет Я разрабатываю новые контроллеры над инструментом разработки GVNIX, но я не понимаю, как он преобразует список объектов в JSON.Как преобразовать объекты списка в JSON в gvnix

Я видел в примере GEO список сущностей, работающих с DataTables, и фильтр ajax, он работает с JSON. Доступ к базе данных находится в BatchService, который возвращает список объектов, но я не нашел, где контроллер получает этот список и возвращает JSON.

Может кто-нибудь помочь мне понять, как он работает?

Благодаря

ответ

3

Преобразование является обрабатывать с помощью Spring Web MVC на основе значения @RequestMapping и @ResponseBody аннотаций через Jaskson библиотеки. (This post об этом говорить)

Кроме того, в качестве стандартного Spring MVC Джексона конвертер не использует ApplicationConversionService Bean, gvNIX включает в себя пользовательский конвертер, который использует этот компонент для сериализации и привязать какой-то предмет (как Spring в стандартном POST запрос). Вы можете нашли эту конфигурацию в файле webmvc-config.xml:

<bean class="org.gvnix.web.json.Jackson2RequestMappingHandlerAdapter" 
    id="dataBinderRequestMappingHandlerAdapter" p:order="1"> 
     <property name="objectMapper"> 
      <bean class="org.gvnix.web.json.ConversionServiceObjectMapper"/> 
     </property> 
</bean> 

Примечание: Jackson2RequestMappingHandlerAdapter только обрабатывает запрос, который @RequestMapping propierties produces и consumes установлен в application/json

Удачи!

+0

Спасибо @jmvivo Я понимаю, как он работает сейчас !. Вы знаете, есть ли простой способ заставить GeoJSON вместо JSON обрабатываться листом? –

+0

Чтобы архивировать это, вы должны реализовать свой собственный сериализатор (вы можете использовать интерфейс Jackson). Затем выполните запрос на контроллер, который его использует (если вы получите проблемы с сериализацией Spring, выполните сериализацию списка самостоятельно и верните String). Если вы это сделаете, будет хороший момент, чтобы поделиться им с сообществом ;-). – jmvivo

+0

Если вы считаете, что это правильный ответ, нажмите галочку. Спасибо. – jmvivo

Смежные вопросы