![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Всем привет. Делаю сервис, который будет принимать JSON запросы и отдавать JSON ответы. Все зпросы server-to-server по http. Json идет в теле запроса.
Хочется применить Spring. На сколько я понял, единственный вариант ловить спрингом запросы, это использование Spring MVC (контроллеров). Знаю что можно парсить JSON параметры запроса сразу в объекты, а можно как то автоматически парсить JSON, если он идет непосредственно в теле запроса ? И как из Spring контроллера отдать JSON ответ ? Там везде нужно возвращать ModelAndView. Очень долго гуглил, так и не наше ничего ... И может быть в моем случае можно что то использовать вместо Spring MVC ? |
|||
|
||||
| jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
Ничего подобного, возвращать можно String, можно Stream, можно много чего еще, вплоть до void. Вот пример из нашего проекта, он показывает как писать ответ в контроллере:
SpringMVC сгенерирует из возвращенного массива json array с содержимым данных типов -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
А не подскажете как он это сделает ? На каком этапе ? В моем случае, Spring MVC не будет слишком громоздким ? Это сообщение отредактировал(а) 4epT - 22.11.2012, 15:47 |
|||
|
||||
| jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
Все зависит от вашего случая. Если требуется всего навсего выставить пару REST-сервисов, то Spring MVC для этого явный overkill. Для такого случая берите любую реализацию JAX-RS, например Jersey или ResrEasy. Если же есть приложение и так на Spring, а к нему надо прикрутить отдачу JSON, то Spring MVC вполне удобен, от него солюшен не потяжелеет.
При загрузке контекста парсер для начала отыщет <mvc:annotation-driven/>, затем поищет в classpath jackson. Если jakson нашелся, то становится возможен прямой маршалинг POJO-объекта через него в JSON. Теперь после того, как отработает контроллер, хэндлер будет отдавать результат его работу Jakson'у для превращения в JSON и после будет формировать из этого JSON'а response. -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
А можно ссылочку на какой нибудь пример ? Приложение как раз планируется именно в виде сервиса, никаких view там не будет. От спринга не хотелось бы уходить, так как хотелось бы использовать его IoC и DAO. Тогда наверное логично было бы уйти от Spring MVC и сделать просто Servlet как одну точку входа ? |
|||
|
||||
| jk1 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
http://www.mkyong.com/spring-mvc/spring-3-...d-json-example/
Не вижу тут логики. Раз спринг уже есть, то прикручивайте spring mvc, это будет очень легко. А если все же не хочется, то голые сервлеты использовать не советую - сделать можно, но будет очень уныло и долго. Альтернативой тут будет реализация любая JAX-RS: Jersey, RestEasy, Apache CXF, etc -------------------- Opinions are like assholes — everybody has one |
||||
|
|||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
jk1, скажите пожалуйста, а Вы никода не работали с dropwizard ? Или может быть что то слышали о нем ...
|
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
Нет, не сталкивался с ним
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |