Spring 3 JSON с MVC
-
05-07-2019 - |
Вопрос
Есть ли способ создания вызовов 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.
Решение
Если другие пользователи зайдут сюда позже: http://blog.springsource.com/ 2010/01/25 / Ajax-упрощений в пружине-3-0 / была самая полезная ссылка для меня. Это, наконец, заставило меня понять модель (после менее чем одного дня поиска).
Другие советы
У вас наверняка могут быть контроллеры, которые возвращают View, который находится в выводе JSON. Взгляните на проект Spring-JSON .
Чтобы использовать запросы в JSON, я хотел бы предположить, что вы просто хотите, чтобы контроллер передавал параметр запроса в библиотеку JSON, которая может анализировать данные?
Нет готового способа сделать то, что вы хотите, так как Джерси красиво интегрирован с Spring через API Джерси-Спринг , поэтому на самом деле нет причин заново изобретать колесо.
Начиная с spring-mvc 3.0, официальная поддержка удаленного взаимодействия Ajax с JSON предоставляется в составе Spring MVC. Это включает поддержку генерации ответов JSON и привязки запросов JSON с использованием модели программирования Spring MVC @Controller.
см. здесь . р>
Эта функция теперь является частью Spring начиная с версии 3.0. Вы можете просто использовать аннотацию @ResponseBody, чтобы указать, что вы хотите, чтобы возвращаемое значение из ваших методов-обработчиков запросов было сериализовано в JSON и отправлено как тело ответа. См. http://blog.springsource.com. / 2010/01/25 / Ajax-упрощений в пружине-3-0 /
Похоже, DWR выглядит очень близко к тому, что вы хотите получить.
Настроить перехватчики Spring MVC можно с помощью сопоставления обработчика , а затем используйте сопоставления для преобразования возвращаемых данных в JSON. Конфигурирование обработчика может быть выполнено в xml (не нужно перекомпилировать), и это может быть полностью прозрачным для остальной части приложения.
Довольно просто аннотировать контроллеры с помощью некоторой аннотации, а затем подключить процесс начальной загрузки BeanFactory, чтобы зарегистрировать контроллеры в некотором процессе отображения обработчиков.
Я использовал этот подход для преобразования результата от контроллеров пружин в вызовы RPC GWT.
Вы также можете использовать Spring AOP для перехвата вызовов методов контроллера и развертывания / переноса запросов из / в JSON.