Quarkus RestClient получает ответ от перенаправления

#quarkus #quarkus-rest-client

#кваркус #quarkus-rest-client

Вопрос:

Я использую клиент Quarkus Rest для выполнения запроса GET к внешней службе API. Однако эта служба напрямую не возвращает ресурс (XML), который мне нужно получить, но выполняет перенаправление на другую службу API, которая возвращает ресурс.

Когда я пытаюсь перейти к пути, который запрашивает у службы API ресурс (т.е. localhost: 8080 /hello) Я перенаправляюсь на страницу с ресурсом вместо того, чтобы получать и обрабатывать его.

Установка точки останова после запроса показывает, что часть кода после запроса никогда не будет достигнута. Вот код конечной точки:

 @Path("/hello")
public class GreetingResource {

  @Inject
  @RestClient
  MyService myService;

  @GET
  @Produces(MediaType.TEXT_PLAIN)
  public String hello() {
    myService.performGet();
    return "you are here"; // breakpoint here, it is never reached
  }
}
 

И вот код MyService:

 @Path("/..")
@RegisterRestClient(configKey="key")
public interface MyService {

  @GET
  @Path("/..")
  @Produces(MediaType.TEXT_XML)
  String performGet(@QueryParam("c") String c, @QueryParam("d") String d);
}
 

Я попытался добавить конфигурацию key/mp-rest/followRedirects=true , но у меня все еще возникает та же проблема. Кроме того, с путем без перенаправлений все работает нормально.

Использование встроенного HttpURLConnection также работает нормально, но, поскольку я использую Quarkus, я хотел бы вместо этого использовать его функции.

Комментарии:

1. К сожалению, Quarkus пока не поддерживает функции, добавленные в MicroProfile Rest Client 2.0.

2. Обновление: Это будет поддерживаться в Quarkus 2.0: github.com/quarkusio/quarkus/issues /…