Вы необходимо следить за тем, как Restlet организует приложения. Я имею в виду, что ресурсы привязаны к одному или нескольким путям. В ресурсах, вы можете определить методы для обслуживания запросов, так как итог ниже:
- ресурс, прикрепленный к пути
- метод
GET
(например)
- метод
POST
(например)
Если ваша обработка точно такая же для двух путей, вы можете присоединить один и тот же класс ресурсов для этих двух пути. Что-то вроде этого:
Router router = new Router(getContext());
router.attach("/api/myservice", MyServerResource.class);
router.attach("/api/myservice2", MyServerResource.class);
Вы можете заметить, что расширение может управляться службой туннелей Restlet. См. getTunnelService().setExtensionsTunnel(true)
в приложении.
EDITED
В противоположность этому, если вы хотите собрать некоторую обработку в единое целое, есть два варианта:
- С Restlet ресурсов сервера, вы не можете. Единственная возможная задача - определить класс, содержащий всю вашу обработку и ссылку/использовать его из разных ресурсов сервера.
Вы можете использовать JAX-RS поддержку Restlet. Это позволяет определить в пределах одного класса несколько конечных точек REST, как описано ниже. Эта ссылка может дать вам более подробную информацию: http://restlet.com/technical-resources/restlet-framework/guide/2.2/extensions/jaxrs.
public class MyResource {
@POST
@Path("/api/myservice")
public SomeObject1 handleRequest1() {
(...)
}
@POST
@Path("/api/myservice2")
public SomeObject2 handleRequest2() {
(...)
}
}
Надеется, что это помогает вам, Thierry
/апи/MyService и/апи/myservice2 имеет разный бизнес. – Jamsheer
оба являются почтовым методом, я хочу написать его бизнес в одном файле, он сам – Jamsheer
Я обновил свой ответ с описанием этого аспекта ... Надеюсь, это поможет! –