Предоставление API для веб-приложения Tapestry - PullRequest
4 голосов
/ 05 сентября 2011

Я работаю над веб-приложением на основе Tapestry 5, которое должно предоставлять API для устройств iPhone и Android. В настоящее время API реализован с использованием встроенных в MVC возможностей гобелена. Например, все сервисы являются методами-обработчиками, которые возвращают строки JSON в классах страниц Tapestry, предназначенных для мобильного доступа. Аутентификация выполняется в Spring Security, и каждый пользователь привязан к сеансу. Я довольно новичок в этом, так что поправьте меня, если я ошибаюсь, но это не похоже на очень чистое решение.

Каковы возможные недостатки этого решения? Каковы значительные преимущества при использовании REST-API вместо этого? Что будет лучшей практикой в ​​таком случае?

Ответы [ 3 ]

5 голосов
/ 05 сентября 2011

Попробуйте Гобелен-RestEasy

1 голос
/ 05 сентября 2011

Для SeeSaw.com у нас есть аналогичные требования для показа фидов из нашего веб-приложения T5, и мы пробовали несколько разных подходов.

Для данных, доступных только для чтения, мы предлагаем написать страницу / компонент T5, который отображает XML (или JSON) в качестве канала. Для чтения / записи данных мы реализуем гобеленовые события OnXXX через JSON. Разделив его таким образом, вы получите более эффективный сайт (так как материал только для чтения может быть кэширован).

0 голосов
/ 04 марта 2013

Может быть, это поможет ...

Шаблон Skinning

Цитировать из статьи

В этой статье я хочу поделиться с вами новой удивительной функцией Tapestry, представленной в 5.3. Эта функция позволяет создавать разные скины для одной страницы, создавая несколько шаблонов. Эти различные шаблоны используются Tapestry для особой визуализации одной и той же страницы для разных клиентов. Например, при разработке веб-приложения для стандартных и мобильных клиентов может потребоваться отрисовка одной и той же страницы в зависимости от текущего клиента. Итак, вам нужно создать два разных шаблона для каждой страницы и выбрать один из них в зависимости от агента пользователя, отправленного клиентом.

Это может быть "чистое решение", которое вы ищете? Ура! * * 1013

Мюррей ...

...