Несмотря на то, что не является «неправильным» использование инфраструктуры MVC для служб RESTful, есть некоторые плюсы и минусы по сравнению с использованием реализации JAX-RS.
(Отказ от ответственности: я использовал только Jersey и Play!для удовольствия, а не для систем производственного уровня, поэтому я адаптировал свои комментарии в более широком смысле к MVC против JAX-RS. Имейте в виду, что это широкие обобщения.)
MVC - по крайней мере,те, которые считаются дружественными для разработчика и «ловкими» - обычно избавляют вас от необходимости создавать постоянный слой (часть модель ).Большинство также упрощают «маршрутизацию» запросов, используя скаффолдинг через соглашение или некоторую форму конфигурации.Недостатком является то, что вы должны соответствовать некоторым соглашениям для ваших контроллеров и обычно должны писать представление для каждого ресурса (или создавать уровни абстракций, чтобы избежать переписывания одного и того же кода).
JAX-RS выделяется при определениимаршрутизация (с использованием аннотаций Java), а также устранение любых ограничений на класс обслуживания.По моему опыту, это значительно сократило объем стандартного кода и накладных расходов разработчика.Jersey и Apache CXF также обрабатывают сериализацию XML или JSON с использованием аннотаций JAXB, что устраняет необходимость выяснения представления в контексте MVC.Недостатком здесь является то, что вы должны выяснить свой собственный ORM или уровень персистентности, который может быть хорошим или плохим, в зависимости от того, строите ли вы поверх существующих данных или создаете новую систему (или используете что-то отличное от JPA / RDBMS).например, хранилище данных NoSQL).
Мой личный комментарий: Play!Это действительно классная среда, но я бы выбрал CXF (или Джерси) вместо среды MVC в любой день для создания службы RESTful.По моему опыту, это позволяет разработчику сосредоточиться на логике, необходимой для службы, и открывает возможности для различных подходов к базам данных.Правильный инструмент для правильной работы.