Spring 3 JSON с MVC - PullRequest
       45

Spring 3 JSON с MVC

29 голосов
/ 21 октября 2009

Есть ли способ создания Spring Web вызовов, которые потребляют и генерируют application/json отформатированные запросы и ответы соответственно?

Может быть, это не Spring MVC , я не уверен. Я ищу библиотеки Spring, которые ведут себя аналогично Джерси / JSON . Наилучший случай был бы, если бы была аннотация, которую я мог бы добавить к классам Controller, которые превратили бы их в JSON сервисные вызовы.

Учебное пособие, показывающее, как создавать Spring Web Services с JSON, было бы замечательно.


РЕДАКТИРОВАТЬ: Я ищу подход, основанный на аннотациях (аналогично Джерси).

EDIT2: Как и Джерси, я ищу поддержку REST (POST, GET, DELETE, PUT).

EDIT3: Наиболее предпочтительно, это будут записи pom.xml и некоторая информация об использовании spring-js с нативной версией Jackson Spring.

Ответы [ 8 ]

31 голосов
/ 09 июля 2010

В случае, если другие зайдут сюда позже: http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/ была самая полезная ссылка для меня. Это, наконец, заставило меня понять модель (после менее чем одного дня поиска).

17 голосов
/ 21 октября 2009

Вы, конечно, можете иметь контроллеры, которые возвращают View, который находится в выводе JSON. Взгляните на проект Spring-JSON .

Чтобы использовать запросы в JSON, я хотел бы предположить, что вы просто хотите, чтобы контроллер передавал параметр запроса в библиотеку JSON, которая может анализировать данные?

4 голосов
/ 26 октября 2009

Не существует готового способа сделать то, что вы хотите, поскольку Джерси прекрасно интегрирован со Spring через API Jersey-Spring , поэтому на самом деле нет причин заново изобретать колесо.

3 голосов
/ 21 октября 2009
2 голосов
/ 15 сентября 2011

Эта функция теперь является частью Spring с версии 3.0. Вы можете просто использовать аннотацию @ResponseBody, чтобы указать, что вы хотите, чтобы возвращаемое значение из ваших методов-обработчиков запросов было сериализовано в JSON и отправлено как тело ответа. Смотри http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/

2 голосов
/ 12 мая 2010

Начиная с spring-mvc 3.0, официальная поддержка удаленного взаимодействия Ajax с JSON предоставляется в составе Spring MVC. Это включает поддержку генерации ответов JSON и привязки запросов JSON с использованием модели программирования Spring MVC @Controller.

см. здесь

0 голосов
/ 28 октября 2009

Вы можете настроить перехватчики Spring MVC с помощью сопоставлений обработчиков и затем использовать сопоставления для преобразования возвращаемых данных в JSON. Конфигурирование обработчика может быть выполнено в xml (не нужно перекомпилировать), и это может быть полностью прозрачным для остальной части приложения.

Довольно просто аннотировать контроллеры с помощью некоторой аннотации, а затем подключить процесс начальной загрузки BeanFactory, чтобы зарегистрировать контроллеры в некотором процессе отображения обработчиков.

Я использовал этот подход для преобразования результата от пружинных контроллеров в вызовы GWT RPC.

Вы также можете использовать Spring AOP для перехвата вызовов методов контроллера и развертывания / переноса запросов из / в JSON.

0 голосов
/ 26 октября 2009

Кажется, что DWR Framework выглядит очень близко к тому, что вы хотите получить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...