У меня есть URL: http://localhost:8080/company и я хочу использовать симулируемый клиент для вызова сервиса.Допустим, я хочу сделать это динамически во время выполнения, и я не знаю, какой интерфейс мне нужен для Autowire и какой метод мне нужно вызывать.
Можно ли автоматически подключить симулированного клиента и вызвать данный метод с помощьюпросто используете url?
Спасибо всем за потраченное время.
Редактировать: приведенный ниже код прекрасно работает для класса CompanySearch, вызывающего сервис CompanyApi и получающего данные.
Клиент Feign
@FeignClient(name = "companyClient" ,url = "http://localhost:9000")
public interface CompanyApi {
@RequestMapping(method = RequestMethod.GET,path = "/company")
Company companyInfo();
}
@FeignClient(name = "employeeClient" ,url = "http://localhost:9001")
public interface CompanyApi {
@RequestMapping(method = RequestMethod.GET,path = "/employee")
Employee employeeInfo();
}
Метод обслуживания:
@Component
public class CompanySearch {
@Autowired
CompanyApi companyApi;
@Autowired
EmployeeApi employeeApi;
public Snapshot snapshot(){
Company company = companyApi.companyInfo();
Employee employee = employeeApi.employeeInfo();
return new Snapshot(company,employee);
}
Я хотел проверить, есть ли способ что-то подобное с Feign.Я могу выполнить HttpClient этого Apache и хочу изучить эквивалент Фейна.
public Snapshot snapshot(){
this.client = Feign.builder().target("http://localhost:9000/company").build();
if(client instanceof CompanyApi.class) {
Company company = ((companyApi)client).companyInfo();
}
}