#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 /…