Вызывать симулировать клиента, используя URL - PullRequest
0 голосов
/ 17 октября 2018

У меня есть 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();
          }     
        }
...