1、pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
2、启动类中添加注解
@EnableDiscoveryClient //添加在类上
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
3、使用
@Autowired
private RestTemplate restTemplate;
public JSONObject save(Demo2 demo2, HttpServletRequest request, HttpServletResponse response) throws Exception {
String url="http://sdydxjtest-service/sdydxjtest/main/restTest";
Demo3 d3 = new Demo3();
d3.setAge(demo2.getAge());
d3.setAa(demo2.getAa());
ResponseEntity<JSONObject> responseEntity = null;
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
headers.add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");
HttpEntity<Demo3> requestEntity = new HttpEntity<>(d3, headers);
responseEntity =restTemplate.postForEntity(url, requestEntity, JSONObject.class);
JSONObject body = responseEntity.getBody();
return body;
}