时间:2021-05-19
微服务之间的调用如何实现
首先 你需要两个或以上的微服务模块 至于怎么创建可以参考我上一篇博客 spring cloud eureka注册中心
如果想在页面显示 那么需要先加上
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'这个thymeleaf依赖 springboot推荐使用thymeleaf模板 它的最大好处就是原型即是模板 后缀是html
html文件 需要放在resources/templates文件夹下 因为thymeleaf自动配置的就是这个地址 当然也可以自己改
还需要配置一个属性
spring: thymeleaf: cache: false #开发时关闭缓存 否则无法看到实时页面然后在html页面加上这个
就可以使用thymeleaf模板了
然后在消费端的启动类中 加上此方法
@Bean // 自动扫描@LoadBalanced //这个注解的意思是在启动时先加载注册中心的域名列表 public RestTemplate restTemplate() //这个方法用来发http请求{RestTemplate restTemplate=new RestTemplate();return restTemplate;}看一下controller中的代码
@Autowiredprivate 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中发到页面 就可以调用另一个微服务的方法 实现了微服务间的调用
还有一个调用的方法是feign 以后会讲解
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Spring-cloud-eureka使用feign调用服务接口的具体方法,供大家参考,具体内容如下基于spring-boot2.0以上版本完成的微服务架构po
前言公司项目进行微服务改造,由之前的dubbo改用SpringCloud,微服务之间通过FeignClient进行调用,今天在测试的时候,eureka注册中心有
1.添加依赖 org.springframework.cloud spring-cloud-starter-netflix-eureka-client2.添
问题描述我们公司的项目是基于SpringCloud开发的微服务,用到了Spring-Cloud-Config作为微服务统一的配置中心,可以将散落在各个服务的配置
前言:spring-cloud为基础的微服务架构,所有的微服务都需要注册到注册中心,如果这个注册中心阻塞或者崩了,那么整个系统都无法继续正常提供服务,所以,这里