springcloudeureka微服务之间如何调用-创新互联

小编给大家分享一下spring cloud eureka微服务之间如何调用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联建站成都网站建设按需定制开发,是成都营销推广公司,为成都小搅拌车提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站维护热线:13518219792

如果想在页面显示 那么需要先加上

compile 'org.springframework.boot:spring-boot-starter-thymeleaf'

这个thymeleaf依赖 springboot推荐使用thymeleaf模板 它的大好处就是原型即是模板 后缀是html

html文件 需要放在resources/templates文件夹下 因为thymeleaf自动配置的就是这个地址 当然也可以自己改

spring cloud eureka微服务之间如何调用

还需要配置一个属性

spring:
 thymeleaf:
  cache: false #开发时关闭缓存 否则无法看到实时页面

然后在html页面加上这个

spring cloud eureka微服务之间如何调用

就可以使用thymeleaf模板了

然后在消费端的启动类中 加上此方法

@Bean // 自动扫描
@LoadBalanced //这个注解的意思是在启动时先加载注册中心的域名列表 
public RestTemplate restTemplate() //这个方法用来发http请求
{
RestTemplate restTemplate=new RestTemplate();
return restTemplate;
}

看一下controller中的代码

@Autowired
private RestTemplate restTemplate; 
@RequestMapping(value = "index")
public String toIndex(Model model){
String msg=restTemplate.getForEntity("http://PROJECT-POPPY-SOLR/search",String.class).getBody(); 
model.addAttribute("msg",msg);
return "index";
}

它的getForEntity方法中 传入的想要调用的方法以及它所在的地址 注意 这里不能直接写ip地址 必须写往注册中心注册过之后的项目名 要想直接写项目名必须在启动类上面的方法中加上@LoadBalaced注解

否则ip地址如果发生变化 就需要更改 特别麻烦 作为一个优秀的程序员 当然是不能这么干的

然后把它放到model中发到页面 就可以调用另一个微服务的方法 实现了微服务间的调用

以上是“spring cloud eureka微服务之间如何调用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


名称栏目:springcloudeureka微服务之间如何调用-创新互联
地址分享:http://hbruida.cn/article/dggoco.html