feign调用spring clound eureka 注册中心服务


@RestController
public class TestService {

    private TestApi computeClient;
    
    private static final String SERVER_NAME = "eureka.client";

 @Autowired
 private DiscoveryClient discoveryClient;
 
 @RequestMapping(value = "/gethello/{name}", method = RequestMethod.GET)
    public String getHello(@PathVariable("name") String name) {
  
  Builder feignBuilder= Feign.builder().decoder(new ResponseEntityDecoder(new SpringDecoder(new ObjectFactory<HttpMessageConverters>(){
   public HttpMessageConverters getObject() throws BeansException {
    return new HttpMessageConverters();
   }
  }))).client(new ApacheHttpClient()).contract(new SpringMvcContract());
  computeClient = feignBuilder.target(TestApi.class,discoveryClient.getInstances(SERVER_NAME).get(0).getUri().toString());
        return computeClient.testHello(name);
    }
}

主要是通过discoveryClient.getInstances(SERVER_NAME).get(0).getUri()获取注册中心实例地址。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM