Пристани: Как вложить HandlerWrapper, HandlerList, ContextHandlerCollection и ContextHandler

Я пытаюсь построить сервер API на Jetty.

Я хочу иметь несколько apis на маршрутах, которые выглядят как / apis / api1 / endpoint, / apis / api2 / endpoint, / apis / api3 / endpoint и т. Д.

По сути, у меня есть 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 должен состоять из набора обработчиков для конкретной конечной точки на выбор.

Что мне не хватает?

Ура,

Ответы на вопрос(1)

Ваш ответ на вопрос