Как отключить фильтр zuul для конкретного случая условия и не отправлять на сопоставленный URL

У меня есть реализация фильтра zuul с конфигурацией маршрута

 related:
      path: /api/search/related/**
      url: http://abc.xyz.neverhit.this.URl

и запустить реализацию

 @Override
    public Object run() {
        RequestContext context = getCurrentContext();
        HttpServletRequest request = context.getRequest();
        UriComponents uri = UriComponentsBuilder.fromHttpUrl(recommendationsServiceHostname)
            .path("/recommendations/related")
            .query(request.getQueryString()).build();

        if (shouldRouteToRecommendationsService(request, uri)) {
            logger.info("Calling  proxy service");


            try {
                context.setRouteHost(new URL(uri.toString()));
            } catch (MalformedURLException ex) {
                logger.error("MalformedURLException for URL:" + uri.toString());
            }
        }
        else
        {
            //Something here or Solution that should handle a request like a filter is not present.
        }
        return null;
}

Это нормально работает, если часть и отправка запроса в прокси-сервис. Проблема для другой части. То, что я ищу, это в другом сценарии, он должен вести себя так, как будто фильтр никогда не существовал, и он должен обрабатывать запрос, который обрабатывал раннее выполнение вызова API из локального кода.

Любой взлом или правильное решение для этого?

0 ответов

Другие вопросы по тегам