Я провел небольшое исследование и нашел несколько способов взаимодействия между микросервисами:
- RestTemplate (WebClient для реактивного стека)
- Feign клиента с использованием Spring Cloud и Eureka
Минусы RestTemplate очевидны: вы жестко закодировали URL службы. Feign клиент лучше, но вы все еще повторяете код создания прокси-контроллера с аннотацией @FeignClient
.
Я хотел бы знать, есть ли обходной путь для использования контроллера целевой службы с внедрением зависимостей, например:
(service A) --> (service B)
public class AService {
@Autowired
private BController bController;
public get() {
//calling this method should invoke http request
bController.get();
}
}