stworzyłem wiele tras za pomocą tego kodu z elementów.Kiedy używać Restlet routera v Komponent z wieloma drogami
Component component = new Component();
component.getServers().add(Protocol.HTTP, port);
component.getDefaultHost().attach(pair.uriPattern, pair.restlet);
component.getDefaultHost().attach("/heartbeat", new HeartbeatRestlet());
Mój kod tętno działa.
Ale kiedy używać routera jako pair.restlet
nad nim nie działa:
Router router = new Router();
Restlet fooHandler = new FooRouter();
Restlet barHandler = new BarRouter();
router.attach("/foo/{fooId}", fooHandler);
router.attach("/bar/{barId1}/{barId2}", barHandler);
Restlet doc daje tylko przykład za pomocą routera z klasą Application
:
public class FirstStepsApplication extends Application {
@Override
public synchronized Restlet createInboundRoot() {
Router router = new Router(getContext());
router.attach("/hello", HelloWorldResource.class);
return router;
}
}
Faktycznie użycie mojego kodu opartego na routerze daje taki sam efekt, jak trafienie w nieistniejący adres URL.
Więc pytam:
- Czy jest jakaś różnica między tym, co podejście oparte Router ma osiągnięcia i podejście komponentowe?
- Czy mogę uruchomić ten kod przy użyciu podejścia opartego na routerze? Obecnie jedynym moim rozwiązaniem jest zrzucenie wielu routerów i dołączenie do nich wielu komponentów, co wymaga obsługi większej ilości starszego kodu.