Sobes.tech
Назад к вопросам
Junior — Middle
68

Как в Spring-приложении реализовать вызов внешнего сервиса?

Ответ от нейросети

sobes.tech AI

В Spring-приложении для вызова внешнего сервиса обычно используют класс RestTemplate или более современный WebClient из Spring WebFlux.

Пример с использованием RestTemplate:

@Autowired
private RestTemplate restTemplate;

public String callExternalService() {
    String url = "https://api.example.com/data";
    return restTemplate.getForObject(url, String.class);
}

Для этого нужно объявить бин RestTemplate в конфигурации:

@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}

Если используется WebClient (реактивный клиент):

@Autowired
private WebClient webClient;

public Mono<String> callExternalService() {
    return webClient.get()
            .uri("https://api.example.com/data")
            .retrieve()
            .bodyToMono(String.class);
}

И бин:

@Bean
public WebClient webClient() {
    return WebClient.create();
}

Таким образом, для вызова внешнего REST-сервиса в Spring-приложении удобно использовать RestTemplate или WebClient.