在开发过程中,许多开发人员可能都会遇到一些需求,就是在一个服务中去调用另一个服务中的接口。当然,现在有了Springcloud的存在,该问题就很简单了,直接通过Eureka注册中心进行注册就能轻松完成调用。但是有时候我们在维护老项目,而老项目中又没有使用springcloud的话,那怎么办呢,那么就只有使用最原始的远程调用方法-------RestTemplate来完成了。
虽然这个东西比较老了,但是还是在这里记录一下,以防以后自己遇到同样的问题,好直接拿出来使用,废话不多说,总共就两步,非常简单。直接上代码:
1、首先,在我们需要调用接口的项目中,创建一个类,类名自定义即可,重点是类里面的内容。代码如下:
@Configuration //表示交给spring管理,从而创建一个ConfigBean的bean
public class ConfigBean {
@Bean
public RestTemplate getTemplate(){
return new RestTemplate();
}
}
说白一点,就是将这个类通过Configuration 注解来交给spring管理,然后创建一个bean。
2、就是在controller中使用这个bean来进行远程调用,代码如下:
@RestController
@RequestMapping("/consumer")
public class UserController {
/**
* 通过原始的方式,即通过RestTemplate来进行远程调用,不通过Eureka
*/