Гобелен + REST

Я хочу добавить REST к своему проекту гобелена и так должен знать, как реализовать его.

Каков лучший путь?

спасибо.

[Редактирование, скопированное с ответа:] Я должен добавить, ПОЛУЧАЮТ, ПОМЕЩАЮТ, POST и УДАЛЯЮТ сервисы к моему приложению гобелена. Я вижу, что Гобелен имеет УСПОКОИТЕЛЬНЫЙ URL, но что относительно JAX-RS и аннотаций?

10
задан Henning 6 May 2010 в 09:51
поделиться

2 ответа

Вы можете использовать Restlet API или любую другую реализацию JAX-RS, которая может работать как сервлет.

Чтобы веб-служба хорошо сосуществовала с Tapestry, есть одна вещь, которую вы должны настроить в вашем модуле приложения Tapestry:

/**
 * Keep Tapestry from processing requests to the web service path.
 * 
 * @param configuration {@link Configuration}
 */
public static void contributeIgnoredPathsFilter(
        final Configuration<String> configuration) {
    configuration.add("/ws/.*");
}

Этот фрагмент указывает фильтру Tapestry не обрабатывать запросы к пути /ws/, где находится веб-служба.

Вот фрагмент, показывающий, как примерно должен выглядеть ваш web.xml с Tapestry плюс Restlet Servlet:

<filter>
    <filter-name>app</filter-name>
    <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>app</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- Restlet adapter -->
<servlet>
    <servlet-name>WebService</servlet-name>
    <servlet-class>
        com.noelios.restlet.ext.spring.SpringServerServlet
    </servlet-class>

    ...
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>WebService</servlet-name>
    <!-- This path must also be set in AppModule#contributeIgnoredPathsFilter,
        otherwise Tapestry, being a request filter, will try to handle 
        requests to this path. -->
    <url-pattern>/ws/*</url-pattern>
</servlet-mapping>

Это должно помочь вам начать.

11
ответ дан 3 December 2019 в 19:32
поделиться

Если вы хотите интегрировать веб-службу REST в проект Tapestry, то URL-адресов RESTful в Tapestry, вероятно, будет недостаточно.

Можно интегрировать RESTEasy в Tapestry через этот модуль Tynamo . RESYEasy совместим с JAX-RS.

Я не использовал RESTEasy с Tapestry, но с Spring 2.5, и он работал очень хорошо.

9
ответ дан 3 December 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: