что такое «правильное» правило для разработки интерфейса для этого веб-сервиса REST? - PullRequest
0 голосов
/ 28 февраля 2012

Я создаю веб-сервис REST для управления клиентами и заказами клиентов.

Я использую Eclipse 3.4 с JAX-RS (Apache Wink 1.0) в WebSphere 7.

Iопределите веб-проект в web.xml следующим образом ...

<servlet>
    <servlet-name>JAX-RS Servlet</servlet-name>
        <servlet-class>org.apache....RestServlet</servlet-class>
        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>com.mydomain.ws.CustomerWS</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>JAX-RS Servlet</servlet-name>
        <url-pattern>/ws/*</url-pattern>
    </servlet-mapping>
/***/
</servlet>

..., который дает мне URL-адрес типа http://.../ws/customers, который возвращает всех клиентов.

Теперь, что мне нужночтобы сделать, это что-то вроде http://.../ws/orders, который возвращает все заказы.

Мои вопросы,

Я хочу добавить второй веб-сервис - что добавитьв web.xml, чтобы новый веб-сервис был виден?или я должен создать совершенно новый веб-проект для моего второго веб-сервиса "заказов"?

или какие-либо другие идеи?Не уверен, как спроектировать это "правильно".

Спасибо, Роб

1 Ответ

1 голос
/ 29 февраля 2012

Я не знаком с Wink, но при условии, что он совместим с JAX-RS, вам не нужно вносить какие-либо изменения в web.xml.Если ваш контейнер поддерживает JAX-RS,

  • , тогда аннотирование вашего 2-го класса с помощью @Path должно автоматически развернуть его
  • , иначе вы можете добавить этот новый класс ресурсов в свой RESTПриложение, например, на основе примера, который вы связали, и предположения об именах классов ресурсов:

    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> classes = new HashSet<Class<?>>();
        classes.add(CustomersResource.class); 
        classes.add(OrdersResource.class);
        return classes;
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...