Подтвердить что ты не робот

REST с использованием JAX RS или Spring MVC

Я пытаюсь создать веб-службу REST (серверную часть), которая позволит партнерской системе подключать/заказывать информацию о заказе в формате JSON. Должен ли я использовать JAX RS (например, из JBOSS RESTEasy) или Spring MVC для создания такой службы? Оба они кажутся достаточно способными для достижения того же самого результата, что и для создания службы REST.

Спасибо!

4b9b3361

Ответ 1

Зависит, если вы хотите узнать что-то новое или пойти с тем, что уже знаете.

Если у вас уже есть опыт работы с Spring MVC и вы хотите быстро выполнить эту работу, я предлагаю остаться с Spring MVC. Есть некоторые аккуратные усовершенствования функций REST в Spring 3.1, включая возможность генерации "документации о конечных точках" .

Если, с другой стороны, вы хотите расширить свое резюме и/или научиться новым технологиям, а затем дать JAX RS. Я не использовал его, но это специальная среда WS, которая, вероятно, будет иметь любую функцию, которая вам понадобится.

Конечно, если у вас есть опыт работы с JAX RS, но не Spring MVC, то применяется противоположное: -)

Ответ 2

Если вы разрабатываете проект EE 5, я бы рекомендовал использовать JAX-RS с помощью Spring. RI для JAX-RS, Джерси, имеет сервлет Spring JAX-RS. Это значительно упрощает управление инъекцией зависимостей с помощью JAX-RS и дает вам все функции Spring MVC, такие как привязка и валидация формы, но вы также можете использовать стандартный стандарт Java для REST - и, на мой взгляд, лучше и проще управлять подходом, чем Spring REST.

Если это приложение EE 6, вам может понадобиться подумать о том, как вызывать Spring, поскольку JAX-RS является частью спецификаций EE 6, и вы можете использовать EE CDI в своих классах JAX-RS.

Ответ 3

Обратите внимание, что у Джерси есть ошибка, которая влияет на ее интеграцию с Spring:

https://java.net/jira/browse/JERSEY-2301

В общем, если вам нужны Spring AOP в ваших ресурсах JAX-RS, это не сработает. Инъекционная инъекция хорошо работает.

Ответ 4

REST - это скорее стиль архитектуры разработки веб-сервисов, которые очень легко понять, даже без документации для разработчика. Обычные высокопроизводительные люди могут легко понять шаблоны URL-адресов, а также типы ответов поддержки JSON и XML упрощают интеграцию с новыми стандартами модуляции javascript, такими как магистраль или angular.js.

С другой стороны, SpringMVC больше концентрируется на стиле архитектуры модель-вид-контроллер для разработки приложений.