#spring-boot #microservices #spring-cloud-feign #openfeign
#spring-boot #микросервисы #spring-cloud-feign #openfeign
Вопрос:
Мне нужно вызвать сторонний API, например: https://google.com.systems.uk/some-api /…. (это поддельный api, но да, сторонний сервис).
Этот api не является частью моих микросервисов и не зарегистрирован в моем реестре eureka, и я не включил для него какой-либо путь маршрутизации в свой шлюз.
Мне нужно вызвать этот api из моего притворного клиента, но получаю ошибку
com.netflix.client.ClientException: Load balancer does not have available server for client:google.com.systems.uk
мой симулированный клиентский код:
@FeignClient(value = "https://google.com.systems.uk/some-api/",
decode404 = true)
public interface DataFeign {
@GetMapping("/query11")
Object getData(@RequestHeader("Authorization") String someToken, @RequestBody Body queryBody);
}
Ответ №1:
Я смог найти ответ на это. использовать
@FeignClient(value = "Google" url = "https://google.com.systems.uk/some-api/",
decode404 = true)
public interface DataFeign {
@GetMapping("/query11")
Object getData(@RequestHeader("Authorization") String someToken, @RequestBody Body queryBody);
}
атрибут url feign поможет в вызове внешних API.
Для вызова API сервисов, зарегистрированных в вашем реестре, вы можете использовать атрибут value или name.