欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解RestTemplate的三種使用方式

 更新時(shí)間:2018年10月25日 10:14:34   作者:MySelf  
這篇文章主要介紹了詳解RestTemplate的三種使用方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

什么是RestTemplate

傳統(tǒng)情況下在java代碼里訪問(wèn)restful服務(wù),一般使用Apache的HttpClient。不過(guò)此種方法使用起來(lái)太過(guò)繁瑣。spring提供了一種簡(jiǎn)單便捷的模板類來(lái)進(jìn)行操作,這就是RestTemplate。

準(zhǔn)備

服務(wù)端我是用的是一個(gè)普通的API

@RestController
public class ServerController {

 @GetMapping("/msg")
 public String msg(){
  return "this is product' msg";
 }

}

第一種方式

直接使用restTemplate,url寫(xiě)死

@Slf4j
@RestController
public class ClientController {

 @GetMapping("/getProductMsg")
 public String getProductMsg(){
  // 1、第一種方式(直接使用restTemplate,url寫(xiě)死)
  RestTemplate restTemplate = new RestTemplate();
  String response = restTemplate.getForObject("http://localhost:9082/msg",String.class);
  log.info("response={}",response);
  return response;
 }

}

第二種方式

第二種方式(利用loadBalancerClient通過(guò)應(yīng)用名獲取url,然后再使用restTemplate)

@Slf4j
@RestController
public class ClientController {

 @Autowired
 private LoadBalancerClient loadBalancerClient;

 @GetMapping("/getProductMsg")
 public String getProductMsg(){

  //2、第二種方式(利用loadBalancerClient通過(guò)應(yīng)用名獲取url,然后再使用restTemplate)
  ServiceInstance serviceInstance = loadBalancerClient.choose("PRODUCT");
  String url = String.format("http://%s:%s",serviceInstance.getHost(),serviceInstance.getPort()) + "/msg";
  RestTemplate restTemplate = new RestTemplate();
  String response = restTemplate.getForObject(url,String.class);

  log.info("response={}",response);
  return response;
 }

}

第三種方式

第三種方式(利用@LoadBalanced,可再restTemplate里使用應(yīng)用名字)

@Component
public class RestTemplateConfig {

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

}
@Slf4j
@RestController
public class ClientController {

 @Autowired
 private RestTemplate restTemplate;

 @GetMapping("/getProductMsg")
 public String getProductMsg(){

  //3、第三種方式(利用@LoadBalanced,可再restTemplate里使用應(yīng)用名字)
  String response = restTemplate.getForObject("http://PRODUCT/msg",String.class);

  log.info("response={}",response);
  return response;
 }

}

github項(xiàng)目

Cloud2Sell

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java @Async注解導(dǎo)致spring啟動(dòng)失敗解決方案詳解

    Java @Async注解導(dǎo)致spring啟動(dòng)失敗解決方案詳解

    這篇文章主要介紹了Java @Async注解導(dǎo)致spring啟動(dòng)失敗解決方案詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringBoot連接MySql數(shù)據(jù)庫(kù)的原理及代碼示例

    SpringBoot連接MySql數(shù)據(jù)庫(kù)的原理及代碼示例

    SpringBoot是一款流行的Java開(kāi)發(fā)框架,它可以輕松地連接各種類型的數(shù)據(jù)庫(kù),包括關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù),本文將介紹SpringBoot是如何連接數(shù)據(jù)庫(kù)的,包括其原理和代碼示例,需要的朋友可以參考下
    2023-07-07
  • RocketMQ中的通信模塊詳解

    RocketMQ中的通信模塊詳解

    這篇文章主要介紹了RocketMQ中的通信模塊詳解,RocketMQ消息隊(duì)列集群主要包括NameServer、Broker(Master/Slave)、Producer、Consumer4個(gè)角色,本文我們簡(jiǎn)單來(lái)講解一下,需要的朋友可以參考下
    2024-01-01
  • Spring之InitializingBean接口和DisposableBean接口的使用

    Spring之InitializingBean接口和DisposableBean接口的使用

    這篇文章主要介紹了Spring之InitializingBean接口和DisposableBean接口的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 基于Mock測(cè)試Spring MVC接口過(guò)程解析

    基于Mock測(cè)試Spring MVC接口過(guò)程解析

    這篇文章主要介紹了基于Mock測(cè)試Spring MVC接口過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java文件拒絕訪問(wèn)問(wèn)題及解決

    Java文件拒絕訪問(wèn)問(wèn)題及解決

    這篇文章主要介紹了Java文件拒絕訪問(wèn)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • elasticsearch啟動(dòng)警告無(wú)法鎖定JVM內(nèi)存

    elasticsearch啟動(dòng)警告無(wú)法鎖定JVM內(nèi)存

    今天小編就為大家分享一篇關(guān)于elasticsearch啟動(dòng)警告無(wú)法鎖定JVM內(nèi)存,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 詳解Java的MyBatis框架和Spring框架的整合運(yùn)用

    詳解Java的MyBatis框架和Spring框架的整合運(yùn)用

    在Web端的SSH框架整合中Spring主要負(fù)責(zé)數(shù)據(jù)庫(kù)處理,而引入MyBatis后二者的集成使用效果更佳,下面我們就來(lái)詳解Java的MyBatis框架和Spring框架的整合運(yùn)用
    2016-06-06
  • Spring整合MyBatis的三種方式

    Spring整合MyBatis的三種方式

    這篇文章主要介紹了Spring整合MyBatis的三種方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Spring Boot整合logback一個(gè)簡(jiǎn)單的日志集成架構(gòu)

    Spring Boot整合logback一個(gè)簡(jiǎn)單的日志集成架構(gòu)

    今天小編就為大家分享一篇關(guān)于Spring Boot整合logback一個(gè)簡(jiǎn)單的日志集成架構(gòu),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01

最新評(píng)論