2015-10-12 1 views
1

У меня есть приложение для восстановления, кроме этого у меня есть два почтовых сервиса с более узким исключением, кроме хвоста конечной точки.Служба рестарта с несколькими ресурсами сообщений

Пример

POST /example.com/api/myservice.json и POST /example.com/api/myservice2.json

Я написал оба ресурса игровых бизнес в отдельном файле. Теперь у меня есть сомнения, что можно написать оба дела в одном файле. Заранее спасибо

ответ

2

Вы необходимо следить за тем, как 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

+0

/апи/MyService и/апи/myservice2 имеет разный бизнес. – Jamsheer

+0

оба являются почтовым методом, я хочу написать его бизнес в одном файле, он сам – Jamsheer

+0

Я обновил свой ответ с описанием этого аспекта ... Надеюсь, это поможет! –

 Смежные вопросы

  • Нет связанных вопросов^_^