Я пытаюсь построить сервер api на Jetty.Jetty: Как вставить HandlerWrapper, HandlerList и ContextHandlerCollection и ContextHandler
Я хочу иметь несколько APIs на маршрутах, которые выглядят как/APIs/api1/конечная точка,/APIs/API2/конечная точка,/APIs/api3/конечной точки, и т.д.
По существу у меня есть HandlerWrapper, который содержит HandlerList из ContextHandlerCollections, что по сути дела просто делает:
public void handle(...) {
if (uri.startsWith("/apis/")) {
log.info("This is an api request");
this.getHandlerList.handle(...)
} else {
super.handle()
}
}
private HandlerList getHandlerList() {
HandlerList handlerList = new HandlerList();
ContextHandlerCollection contextHandlerCollection = new ContextHandlerCollection();
ContextHandler api1 = new ContextHandler("/apis/api1/endpoint");
api1.setHandler(new Api1Handler());
contextHandlerCollection.addHandler(api1);
handlerList.addHandler(contextHandlerCollection);
return handlerList
}
Теперь, когда я пытаюсь сделать:
curl localhost:port/apis/api1/endpoint
Я получаю 404 не нашел, но я вижу в журналах заявление «Это это запрос api ».
Любые подсказки?
Я в основном хочу один ContextHandlerCollection для каждого api1, api2 и т. Д. И ContextHandlerCollection должен состоять из набора специальных обработчиков, предназначенных для конечных точек.
Что мне не хватает?
Cheers,
Это было, конечно, в правильном направлении. В итоге я просто придумал свой собственный обработчик, так как это было проще, чем обыскать документацию: P –