31. Springboot中使用RestTemplate

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了31. Springboot中使用RestTemplate相关的知识,希望对你有一定的参考价值。

一. 前言

官网使用说明

获取Eureka实例

public String serviceUrl() {
    InstanceInfo instance = discoveryClient.getNextServerFromEureka("STORES", false);
    return instance.getHomePageUrl();
}


步骤:


二. 导入包

pom.xml

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>


三. 修改启动Application

@EnableCircuitBreaker
@EnableDiscoveryClient
public class HellloMain {
	
	@Bean
	@LoadBalanced
	RestTemplate restTemplate() {
		return new RestTemplate();
	}
	
	public static void main(String[] args) {
		SpringApplication.run(HelloMain.class, args);

	}
	
}


四. 业务使用

private int xxxx(String body) {
	RestTemplate restTemplate = new RestTemplate();
	HttpHeaders headers = new HttpHeaders();
	MediaType type = MediaType.parseMediaType("application/json");
	headers.setContentType(type);
		
	HttpEntity<String> formEntity = new HttpEntity<String>(body, headers);
		
	String result = restTemplate.postForObject(getEurkaClient("hello-module"), 
				formEntity,
				String.class);
	return 0;
}
public String getEurkaClient(String end) {
        InstanceInfo instance = discoveryClient.getNextServerFromEureka("smarthome-phihome", false);
	return instance.getHomePageUrl() + end;
}


这样就可以在应用程序之间互相调用


本文出自 “www.bogo.com” 博客,请务必保留此出处http://483181.blog.51cto.com/473181/1954798

以上是关于31. Springboot中使用RestTemplate的主要内容,如果未能解决你的问题,请参考以下文章

springboot-31-springboot静态注入

OAuth2RestOperations 使用从请求标头获取的令牌,而不是请求身份验证服务器

SpringCloud OpenFegin使用指北

github 31.6K star的Springboot开源电商系统,值得关注

2020-03-25 接口高并发问题下,Hystrix的使用

SpringBoot31 重识Spring01-环境搭建Actuator监控属性配置多环境配置