Ribbon和RestTemplate使用总结

本文详细介绍了Spring Cloud中RestTemplate的使用,包括依赖注入、GET和POST请求的处理,以及拦截器的配置。同时,深入探讨了Ribbon的运用,包括自定义注解、配置文件设置、脱离Eureka独立使用的方法,以及如何在实际应用中结合RestTemplate和Ribbon进行服务调用。
摘要由CSDN通过智能技术生成

目录

RestTemplate

依赖注入

get 请求处理

getForEntity

返回一个Map

返回对象

传参调用

返回对象

post 请求处理

postForLocation 

拦截器

Ribbon

自定义注解方式

配置文件

Ribbon脱离Eureka

使用Ribbon


RestTemplate

依赖注入

	@Bean
	// 开启负载均衡
	@LoadBalanced
	RestTemplate restTemplate() {
		return new RestTemplate();
	}

接下来便可以使用资源地址调用服务

String url ="http://provider/getHi";
String respStr = restTemplate.getForObject(url, String.class);

get 请求处理

getForEntity

getForEntity方法的返回值是一个ResponseEntity,ResponseEntity是Spring对HTTP请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消息体等。

<200,Hi,[Content-Type:"text/plain;charset=UTF-8", Content-Length:"8", Date:"Fri, 10 Apr 2020 09:58:44 GMT", Keep-Alive:"timeout=60", Connection:"keep-alive"]>

返回一个Map

调用方

		String url ="http://provider/getMap";
		   
		ResponseEntity<Map> entity = restTemplate.getForEntity(url, Map.class);
		   
		System.out.println("respStr: "  + entity.getBody() );

生产方

	@GetMapping("/getMap")
	public Map<String, String> getMap() {
		
		HashMap<String, String> map = new HashMap<>();
		map.put("name", "500");
		return map; 
	}

返回对象

调用方

		ResponseEntity<Person> entity = restTemplate.getForEntity(url, Person.class);
		   
		System.out.println("respStr: "  + ToStringBuilder.reflectionToString(entity.getBody() ));

生产方</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值