springcloud 远程rpc调用接口

springcloud 如果想要从注册中心中调用已经注册的接口,需要用如下方法。

我们现在已经将一个微服务注册到了注册中心。端口是8083的那个
在这里插入图片描述

并且里面有个member的RequestMapping
在这里插入图片描述
首先,创建一个微服务,将需要的依赖放入pom.xml和配置好appplication.yml

然后我们就要在一个controller中用rpc通过注册中心调用接口
创建一个ordercontroller.java

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class ordercontroller {
	@Autowired
	private RestTemplate restTemplate;

	@RequestMapping("getorder")
	public String getorder() {
		// order 使用rpc 远程调用技术
		String memberUrl = "http://app-itmayiedu-member/member";
		String result = restTemplate.getForObject(memberUrl, String.class);
		System.out.println(result);
		return result;
	}

}

并且创建一个启动文件,我创的是app.java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableEurekaClient
public class app {

	public static void main(String[] args) {
		SpringApplication.run(app.class, args);
	}

	@Bean
	@LoadBalanced
	RestTemplate restTemplate() {
		return new RestTemplate();
	}

}

这里的LoadBalanced是开启负载均衡一定要加上

然后即可调用到8083端口的接口
在这里插入图片描述
成功

猜你喜欢

转载自blog.csdn.net/weixin_44714808/article/details/89389798
今日推荐