Встречается на собеседованиях • сегодня
Как из Spring-приложения обратиться к другому сервису
Для обращения к другому сервису в Spring-приложении можно использовать:
1. **RestTemplate** (устаревший, но все еще используется):
```java
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
@Service
public class MyService {
@Autowired
private RestTemplate restTemplate;
public String callService() {
return restTemplate.getForObject(
"http://other-service/api/data",
String.class
);
}
}
```
2. **WebClient** (реактивный подход, рекомендуется для новых проектов):
```java
@Bean
public WebClient webClient() {
return WebClient.builder().build();
}
@Service
public class MyService {
@Autowired
private WebClient webClient;
public Mono callService() {
return webClient.get()
.uri("http://other-service/api/data")
.retrieve()
.bodyToMono(String.class);
}
}
```
3. **Feign Client** (декларативный подход):
```java
@FeignClient(name = "other-service")
public interface OtherServiceClient {
@GetMapping("/api/data")
String getData();
}
```
Для всех подходов важно:
- Настроить таймауты и обработку ошибок
- Использовать Service Discovery (Eureka) или явные URL
- Добавить circuit breaker (Resilience4j, Hystrix)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы