最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot使用RestTemplate的示例詳解

 更新時(shí)間:2023年05月29日 14:55:46   作者:java技術(shù)媛  
RestTemplate繼承自InterceptingHttpAccessor并且實(shí)現(xiàn)了RestOperations接口,其中RestOperations接口定義了基本的RESTful操作,這些操作在RestTemplate中都得到了實(shí)現(xiàn),這篇文章主要介紹了SpringBoot使用RestTemplate,需要的朋友可以參考下

RestTemplate 是由 Spring 提供的一個(gè) HTTP 請(qǐng)求工具,它提供了常見(jiàn)的REST請(qǐng)求方案的模版,例如 GET 請(qǐng)求、POST 請(qǐng)求、PUT 請(qǐng)求、DELETE 請(qǐng)求以及一些通用的請(qǐng)求執(zhí)行方法 exchange 以及 execute。RestTemplate 繼承自 InterceptingHttpAccessor 并且實(shí)現(xiàn)了 RestOperations 接口,其中 RestOperations 接口定義了基本的 RESTful 操作,這些操作在 RestTemplate 中都得到了實(shí)現(xiàn)。

POST請(qǐng)求

postForObject

1、使用LinkedMultiValueMap作為參數(shù)(Form表單提交)

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/update";
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("id", "123");
paramMap.add("name", "張三");
String result = template.postForObject(url, paramMap, String.class);
System.out.println("result:" + result);

2、使用Object作為參數(shù)(JSON提交)

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/update";
User user = new User(123, "張三");
String result = template.postForObject(url, user, String.class);
System.out.println("result:" + result);

3、使用JSONObject作為參數(shù)(JSON提交)

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/update";
JSONObject obj = new JSONObject();
obj.put("id", "123");
obj.put("name", "張三");
String result = template.postForObject(url, obj, String.class);
System.out.println("result:" + result);

postForEntity

1、使用LinkedMultiValueMap作為參數(shù)(Form表單提交)

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/update";
HttpHeaders headers = new HttpHeaders();
headers.set("token", "asdf");
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("id", "123");
paramMap.add("name", "張三");
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(paramMap, headers);
ResponseEntity<String> response = template.postForEntity(url, httpEntity, String.class);
System.out.println("result:" + response.getBody());

2、使用Object作為參數(shù)(JSON提交)

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/update";
HttpHeaders headers = new HttpHeaders();
User user = new User(123, "張三");
HttpEntity<User> httpEntity = new HttpEntity<User>(user, headers);
ResponseEntity<String> response = template.postForEntity(url, httpEntity, String.class);
System.out.println("result:" + response.getBody());

3、使用JSONObject為參數(shù)(JSON提交)

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/update";
HttpHeaders headers = new HttpHeaders();
JSONObject obj = new JSONObject();
obj.put("id", "123");
obj.put("name", "張三");
HttpEntity<JSONObject> httpEntity = new HttpEntity<JSONObject>(obj, headers);
ResponseEntity<String> response = template.postForEntity(url, httpEntity, String.class);
System.out.println("result:" + response.getBody());

exchange

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/productDetail";
HttpHeaders headers = new HttpHeaders();
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("id", "123");
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(paramMap, headers);
ResponseEntity<String> response = template.exchange(url, HttpMethod.POST, httpEntity, String.class);
System.out.println("result:" + response.getBody());

postForObject和postForEntity方法的區(qū)別主要在于可以在postForEntity方法中設(shè)置header的屬性,當(dāng)需要指定header的屬性值的時(shí)候,使用postForEntity方法。

exchange方法和postForEntity類似,但是更靈活,exchange還可以調(diào)用get、put、delete請(qǐng)求。

GET請(qǐng)求

getForObject

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/detail?id={id}";
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("id", "123");
String result = template.getForObject(url, String.class, paramMap);
System.out.println("result:" + result);

getForEntity

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/detail?id={id}";
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("id", "123");
ResponseEntity<String> response1 = template.getForEntity(url, String.class, paramMap);
System.out.println("result:" + response1.getBody());

exchange

RestTemplate template = new RestTemplate();
String url = "http://127.0.0.1:8800/product/productDetail";
HttpHeaders headers = new HttpHeaders();
headers.set("token", "asdf");
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(null, headers);
ResponseEntity<String> response = template.exchange(url, HttpMethod.GET, httpEntity, String.class,paramMap);
System.out.println("result:" + response.getBody());

到此這篇關(guān)于SpringBoot使用RestTemplate的文章就介紹到這了,更多相關(guān)SpringBoot使用RestTemplate內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java?Object的hashCode方法的計(jì)算邏輯分析

    java?Object的hashCode方法的計(jì)算邏輯分析

    這篇文章主要介紹了java?Object的hashCode方法的計(jì)算邏輯分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java PriorityQueue優(yōu)點(diǎn)和缺點(diǎn)面試精講

    Java PriorityQueue優(yōu)點(diǎn)和缺點(diǎn)面試精講

    這篇文章主要為大家介紹了Java面試中PriorityQueue的優(yōu)點(diǎn)和缺點(diǎn)及使用注意詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java實(shí)現(xiàn)自動(dòng)把報(bào)表插入到word文檔中

    Java實(shí)現(xiàn)自動(dòng)把報(bào)表插入到word文檔中

    在很多業(yè)務(wù)場(chǎng)景中需要在 word 文檔中嵌入報(bào)表,這篇文章主要為大家介紹了如何使用Java實(shí)現(xiàn)自動(dòng)把報(bào)表插入到word文檔中,需要的可以參考下
    2024-12-12
  • 簡(jiǎn)單了解Spring Web相關(guān)模塊運(yùn)行原理

    簡(jiǎn)單了解Spring Web相關(guān)模塊運(yùn)行原理

    這篇文章主要介紹了簡(jiǎn)單了解Spring Web相關(guān)模塊運(yùn)行原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java?九宮重排(滿分解法)

    Java?九宮重排(滿分解法)

    本文主要介紹了Java?九宮重排(滿分解法),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • springboot?vue前后端接口測(cè)試樹結(jié)點(diǎn)添加功能

    springboot?vue前后端接口測(cè)試樹結(jié)點(diǎn)添加功能

    這篇文章主要為大家介紹了springboot?vue前后端接口測(cè)試樹結(jié)點(diǎn)添加功能,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • linux系統(tǒng)下查看jdk版本、路徑及配置環(huán)境變量

    linux系統(tǒng)下查看jdk版本、路徑及配置環(huán)境變量

    在Linux系統(tǒng)中,配置JDK環(huán)境變量是非常重要的,它可以讓你在終端中直接使用Java命令,這篇文章主要給大家介紹了關(guān)于linux系統(tǒng)下查看jdk版本、路徑及配置環(huán)境變量的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Java中的集合框架

    Java中的集合框架

    本文主要介紹了Java中集合框架的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-03-03
  • spring6注解式開發(fā)示例詳解

    spring6注解式開發(fā)示例詳解

    文章介紹了Spring框架中使用注解進(jìn)行開發(fā)的機(jī)制,包括如何定義和使用自定義注解,通過(guò)反射機(jī)制讀取注解,以及如何根據(jù)注解進(jìn)行組件掃描和bean的實(shí)例化,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • SpringCloud Nacos配置中心管理超詳細(xì)講解

    SpringCloud Nacos配置中心管理超詳細(xì)講解

    這篇文章主要介紹了Springcloud中的Nacos服務(wù)配置,本文以用戶微服務(wù)為例,進(jìn)行統(tǒng)一的配置,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11

最新評(píng)論

湖南省| 栾川县| 仲巴县| 柘荣县| 新晃| 延安市| 民和| 友谊县| 万山特区| 开江县| 郓城县| 佳木斯市| 海盐县| 永泰县| 台江县| 邹城市| 盐津县| 德清县| 肇东市| 江华| 左贡县| 招远市| 额济纳旗| 紫金县| 兴安盟| 衡水市| 永定县| 漯河市| 时尚| 福鼎市| 宁武县| 南澳县| 修武县| 黄梅县| 罗田县| 额济纳旗| 连平县| 纳雍县| 五指山市| 广东省| 康保县|