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()获取注册中心实例地址。
如果我的文章对你有帮助,就点一下推荐吧.(*^__^*)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步