SpringCloud学习笔记-应用间通信-RestTemplate
程序员文章站
2022-03-04 20:18:34
...
HTTP vs RPC
dubbo 是rpc协议|
SpringCloud 是http调用
SpringCloud中服务间两种restful调用方式
RestTemplate
Feign
RestTemplate
第一种方式
RestTemplate restTemplate=new RestTemplate();
String str=restTemplate.getForObject("url",String.class);
url是要调用的服务的url(服务名称+接口名称)
服务器集群是不确定ip 和端口的。所以这种方式就不太好(处理)
第二种方式
@Autowired
private LoadBalancerClient loadBalancerClient
@GetMapping("/test")
test(){
ServiceInstance serviceInstance =loadBalancerClient.choose("ORDER"); //eureka服务注册名称
String url=String.format("http://%s:%s",serviceInstance.getHost(),
serviceInstance.getPort())+"接口url";
RestTemplate restTemplate=new RestTemplate();
String str=restTemplate.getForObject("url",String.class);
}
这种方式每次都要获取服务实例也不好。
第三种方式
package com.hx.order.config;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
@Component
public class RestTemplateConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
@Autowired
private RestTemplate restTemplate
@GetMapping("/test")
test(){
String str=restTemplate.getForObject("http://ORDER/url",String.class);
//ORDER 服务名 url 接口名称
}
上一篇: iOS ShareSDK 分享到新浪微博
下一篇: golang教程之条件语句
推荐阅读
-
黑马Android76期学习笔记01基础--day08--start/bind开启服务、电话录音,特别广播接收者,bindService/接口调用服务内方法,混合开启服务,进程间通讯,aidl应用场景
-
ROS机器人编程实践》学习笔记2.1-- ROS节点间通信之topic
-
SpringCloud(三)-应用间通信(慕课网廖师兄SpringCloud微服务实战)
-
springcloud不同系统间采用RestTemplate通信
-
MFC学习笔记-进程间通信
-
Linux进程间通信学习笔记
-
“React组件间通信”学习笔记
-
Python 进阶学习笔记之五:网络和进程间通信之异步 IO
-
黑马Android76期学习笔记01基础--day08--start/bind开启服务、电话录音,特别广播接收者,bindService/接口调用服务内方法,混合开启服务,进程间通讯,aidl应用场景
-
SpringCloud学习笔记-应用间通信-RestTemplate