Возможен ли RESTful JSF? - PullRequest
       10

Возможен ли RESTful JSF?

8 голосов
/ 15 сентября 2009

Недавно я сел для переноса простого необходимого мне Rails-приложения на JSF (используя Seam), чтобы почувствовать, в чем я буду более продуктивен. Приложение Rails - это RESTful, что мне нравится. Начав работать с JSF, я с удивлением узнал, возможно, неправильно, что JSF поддерживает только POST, что делает его по сути не RESTful.

Я немного обыскал, но не смог найти удовлетворительного ответа. JSF / Seam кажется очень популярным, но для меня не имеет смысла запрещать все методы HTTP, кроме POST. Правда ли, что JSF по своей природе не допускает RESTful-архитектуру, или я ошибаюсь и RESTful JSF возможен (по своей сути или через плагин)?

Ответы [ 4 ]

6 голосов
/ 15 сентября 2009

Вот сообщение в блоге , которое прорабатывает этот вопрос , хотя и не приводит к каким-либо твердым выводам.

По моему личному опыту, JSF / Seam на самом деле не очень популярны, во многом из-за такого рода проблем. Кажется, он очень старается абстрагироваться от сущности сети, а затем ломает такие вещи, как GET. Исправление (для любой проблемы, с которой вы сталкиваетесь) всегда «приходит в следующей версии» или «на самом деле не проблема, если у вас есть хорошие инструменты». YMMV, но я, вероятно, посмотрю на другой стек.

Я слышал хорошие вещи о Restlet , и я вижу, что Struts 2 имеет плагин REST . В Spring 3 Spring MVC имеет добавленную поддержку REST . Я работал с Grails , и это делало RESTful-вещи довольно простыми. У него есть дополнительный бонус: он должен быть вам очень знаком, поскольку вы уже знакомы с Rails.

3 голосов
/ 16 сентября 2009

JSF со швом может делать GET нормально. Это зависит только от того, что вы хотите с ним делать. JSF, как правило, использует почту, чтобы получить полевые данные на сервер. Много JSF работает с почтой. Но вы, безусловно, можете использовать GET, используя параметры страницы шва или даже просто добраться до базового объекта HTTPRequest.

Теперь большая архитектура RESTful, да, не очень хорошо работает с JSF. Однако не стесняйтесь использовать JSF для вашего пользовательского интерфейса и JAX-RS для вашего RESTful API. Оба могут жить счастливо рядом друг с другом.

2 голосов
/ 05 ноября 2012

JSF - это основанная на компонентах инфраструктура , а не основанная на действии. URL-адреса определенно связаны с action , поэтому, если вы хотите создать веб-приложение RESTful, JSF может быть , а не , что вы хотите.

Смотри также:

2 голосов
/ 23 сентября 2009

В зависимости от ваших точных требований (REST в качестве API или более в качестве средства для получения закладок URL), Seam находится дальше, чем лидерство. Статья разработчиков Seam находится по адресу http://relation.to/Bloggers/RESTSupportInLatestSeam21, где демонстрируются новые функции REST. Среди прочего, как вы можете предоставить полный доступ к сущности через RESTful API всего с четырьмя строками XML.

Если вы просто выбираете закладку, вам все равно нужно тщательно продумать, как вы связываете вещи (вместе) на страницах и потоках JSF, хотя в Seam 2.2 добавлены некоторые функции, чтобы упростить эту задачу.

...