日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Springboot集成restTemplate過程詳解

瀏覽:124日期:2023-05-22 10:38:42

一restTemplate簡介

restTemplate底層是基于HttpURLConnection實現的restful風格的接口調用,類似于webservice,rpc遠程調用,但其工作模式更加輕量級,方便于rest請求之間的調用,完成數據之間的交互,在springCloud之中也有一席之地。大致調用過程如下圖

Springboot集成restTemplate過程詳解

二restTemplate常用方法列表

forObeject跟forEntity有什么區別呢?主要的區別是forEntity的功能更加強大一些,其返回值是一個ResponseEntity,更加方便我們獲得響應的body,head等信息。exchange方法和其他方法不同之處就是能自己定義的rest請求方式。

2.1 get請求方法預覽

Springboot集成restTemplate過程詳解

2.2 post方法請求預覽

Springboot集成restTemplate過程詳解

2.3put請求方法預覽

Springboot集成restTemplate過程詳解

2.4 delete請求方法預覽

Springboot集成restTemplate過程詳解

2.5exchange方法預覽

Springboot集成restTemplate過程詳解

三rest接口調用示例

restTemplate配置

首先本次示例采用的是springboot2.x以上版本,javaSE8;其次發布的服務端是同一臺機子,服務端端口8090,客戶端端口8080;類路徑youku1327;在實際工作中最常用是get,post請求方式;restTemplate簡單配置如下:

/** * @Author lsc * @Description <p> </p> * @Date 2019/10/14 11:40 * @Version 1.0 */@Configurationpublic class RestTemplateConfig { // 配置 RestTemplate @Bean public RestTemplate restTemplate(ClientHttpRequestFactory factory){ return new RestTemplate(factory); } @Bean public ClientHttpRequestFactory simpleClientHttpRequestFactory(){ // 創建一個 httpCilent 簡單工廠 SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); // 設置連接超時 factory.setConnectTimeout(15000); // 設置讀取超時 factory.setReadTimeout(5000); return factory; }}

3.1 get請求接口調用示例

服務費發布的端口

@GetMapping('user') public String getUser(){ return 'youku1327'; } @GetMapping('user/{name}') public String getUserName(@PathVariable String name){ return name; }

客戶端調用

GET參數說明:

第一個參數是url。 第二個參數是返回值類型。 第三個參數是uri地址路徑變量。

/* * @Author lsc * @Description <p> 獲得無參的get請求 </p> * @Date 2019/10/17 21:15 * @Param [] * @return void **/ @Test public void testGETNoParams(){ String result = restTemplate.getForObject('http://localhost:8090/youku1327/user', String.class); System.out.println(result); } /* * @Author lsc * @Description <p> URL帶參 </p> * @Date 2019/10/18 13:49 * @Param [] * @return void **/ @Test public void testGETParams(){ // http://localhost:8090/youku1327/user/{1} String result = restTemplate.getForObject('http://localhost:8090/youku1327/user/{name}', String.class,'lsc'); System.out.println(result); }

3.2 post請求示例

POST請求參數說明

第一個參數是url。第二個參數是請求參數。第三個參數是返回值類型。第三個參數是uri地址路徑變量。

服務端發布接口

@PostMapping('provider') public ResponseEntity<String> addData(@RequestBody JSONObject jsonObject){ String user = (String) jsonObject.get('user'); return ResponseEntity.ok(user); }

客戶端接口調用

/* * @Author lsc * @Description <p> post</p> * @Date 2019/10/18 23:23 * @Param [] * @return void **/ @Test public void testPostMethod() throws MalformedURLException { JSONObject jsonObject = new JSONObject(); jsonObject.put('user','youku1327'); HttpHeaders httpHeaders = new HttpHeaders(); // 設置請求類型 httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8); // 封裝參數和頭信息 HttpEntity<JSONObject> httpEntity = new HttpEntity(jsonObject,httpHeaders); String url = 'http://localhost:8090/youku1327/provider'; ResponseEntity<String> mapResponseEntity = restTemplate.postForEntity(url, httpEntity, String.class); System.out.println(mapResponseEntity.getBody()); }

3.3 put接口調用示例

PUT請求參數說明

第一個參數是url。第二個參數是請求參數。第三個參數是uri地址路徑變量。

服務端發布接口

@PutMapping('provider/{id}') public ResponseEntity<JSONObject> updateData(@PathVariable Long id, @RequestBody JSONObject jsonObject){ Object object = jsonObject.get('user'); jsonObject.put('id',id); // {'id':1327,'user':'youku1327'} System.out.println(jsonObject); return ResponseEntity.ok(jsonObject); }

客戶端接口調用

/* * @Author lsc * @Description <p> put</p> * @Date 2019/10/18 23:23 * @Param * @return **/ @Test public void testPutMethod() throws MalformedURLException { JSONObject jsonObject = new JSONObject(); jsonObject.put('user','youku1327'); HttpHeaders httpHeaders = new HttpHeaders(); // 設置請求類型 httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8); // 封裝參數和頭信息 HttpEntity<JSONObject> httpEntity = new HttpEntity(jsonObject,httpHeaders); String url = 'http://localhost:8090/youku1327/provider/{id}'; restTemplate.put(url, httpEntity, 1327); }

3.4delete請求示例

DELETE請求參數說明

第一個參數是url第二個參數uri地址路徑變量。

服務端發布接口

@DeleteMapping('provider/{id}') public ResponseEntity<String> delData(@PathVariable Long id){ String result = 'delete'+id+'success'; // delete1327success System.out.println(result); return ResponseEntity.ok(result); }

客戶端調用接口

/* * @Author lsc * @Description <p> delete</p> * @Date 2019/10/18 23:22 * @Param [] * @return void **/ @Test public void testDelete(){ String url = 'http://localhost:8090/youku1327/provider/{id}'; restTemplate.delete(url,1327); }

3.5 exchange

參數說明:

第一個參數是url。第二個參數是請求方式。第三個參數是請求實體。第四個參數是返回值類型。第五個參數是uri地址變量。

服務端發布接口

@GetMapping('user/{name}') public String getUserName(@PathVariable String name){ return name; }

客戶端調用接口

/* * @Author lsc * @Description <p> exchange</p> * @Date 2019/10/18 23:22 * @Param [] * @return void **/ @Test public void testExchange(){ String url = 'http://localhost:8090/youku1327/user/{name}'; HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED); HttpEntity httpEntity = new HttpEntity(httpHeaders); ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class, 'youku1327'); System.out.println(exchange.getBody()); }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产美女高潮在线| 欧美在线黄色| 国产精品久久久久77777丨 | 奇米亚洲欧美| 国产乱论精品| 国产一区二区精品福利地址| 国产一区丝袜| 亚洲一级少妇| 国产一区91| 亚洲精品免费观看| 国产精品丝袜在线播放| 麻豆精品在线播放| 黄色在线网站噜噜噜| 免费污视频在线一区| 中文字幕在线看片| 久久高清免费| 99国产精品视频免费观看一公开| 久久国产精品99国产| 青青国产精品| 日韩精品永久网址| 欧美日韩免费观看一区=区三区| 99国产精品视频免费观看一公开| 亚洲我射av| 免费一级欧美片在线观看网站| 桃色av一区二区| 在线一区免费观看| 国产精品黄色| 99国产精品自拍| 国产乱子精品一区二区在线观看| 免费一区二区三区在线视频| 91精品国产调教在线观看| 久久夜色精品| 国产精品a级| 视频一区中文| 国产欧美三级| 不卡一区2区| 国产日产一区| 激情自拍一区| 国产日韩视频| 欧美亚洲国产精品久久| 色8久久久久| 精精国产xxxx视频在线野外| 亚洲精品日韩久久| 91视频精品| 免费欧美在线视频| 国产福利片在线观看| 亚洲免费观看高清完整版在线观| 91亚洲国产| 日韩不卡一二三区| 国产在线日韩| 久久永久免费| 视频一区二区不卡| 麻豆视频在线看| 色婷婷成人网| 国产一区清纯| 成人在线视频中文字幕| 亚洲三级网站| 99久久九九| 久久av综合| 99热精品在线观看| 国产一区二区三区网| 综合一区二区三区| 99久久九九| 国产精品不卡| 国产欧美午夜| 亚洲美女91| 欧美.日韩.国产.一区.二区 | 日韩美女精品| 亚洲欧美日韩一区在线观看| 国产96在线亚洲| 国产亚洲精aa在线看| 男人操女人的视频在线观看欧美| 日韩电影在线视频| 69堂免费精品视频在线播放| 国产手机视频一区二区| www.51av欧美视频| 国产麻豆一区二区三区 | 欧美日韩国产亚洲一区| 久久久久久久久丰满| 黄色在线观看www| 国产精品色婷婷在线观看| 亚洲精品看片| 美女黄网久久| 99视频+国产日韩欧美| 久久久久久久久久久9不雅视频| 久久只有精品| 国产精品一卡| 欧美一级二区| 青青草91视频| 日本中文字幕一区二区| 亚洲人成精品久久久| 亚洲一区区二区| 亚洲福利精品| 欧美日韩国产免费观看| 136国产福利精品导航网址| 国产盗摄——sm在线视频| 国产精品任我爽爆在线播放| 午夜天堂精品久久久久| 四虎精品一区二区免费| 欧美一级一区| 国产精品亚洲欧美日韩一区在线| 亚洲精品欧美| 午夜天堂精品久久久久| 日本成人中文字幕在线视频| 日韩av一二三| 国产精品亚洲综合色区韩国| 国产精品久一| 免费精品一区| 日韩亚洲一区在线| 日韩中文在线电影| 99成人在线视频| 婷婷激情综合| 老司机精品久久| 一区二区三区四区日韩| 午夜精品福利影院| 欧美日韩一区二区三区在线电影| 欧美日韩亚洲一区三区| 国产精品久久久久久模特| 久久精品国产久精国产爱| 精品一区二区三区的国产在线观看| 色乱码一区二区三区网站| 成人看片网站| 快she精品国产999| 日韩国产在线一| 日韩1区2区3区| 久久精品理论片| 91看片一区| 免费在线欧美视频| 欧美日本二区| 日韩中文在线电影| 羞羞答答国产精品www一本| 亚洲精品亚洲人成在线观看| 国产精品一区亚洲| 亚洲女同av| 伊人久久婷婷| 国产探花在线精品| 亚洲精品.com| 亚洲一区二区小说| 国产高清精品二区| 久久精品主播| 婷婷亚洲成人| 国产不卡精品| 免费日韩精品中文字幕视频在线| 日韩av午夜在线观看| 成人日韩在线| 免费人成精品欧美精品| 你懂的国产精品| 久久久天天操| 日本不卡高清| 日韩免费视频| 亚洲+小说+欧美+激情+另类| 日本久久精品| 亚洲开心激情| 特黄毛片在线观看| 日本不卡高清视频| 久久狠狠婷婷| 久久狠狠久久| 欧美亚洲在线日韩| 国产精品二区影院| 美女国产精品| 日韩深夜视频| 91嫩草精品| 中文在线а√天堂| 亚洲一区av| 91看片一区| 国产精品久一| 奶水喷射视频一区| 国产精品久久久久久久久久10秀| 三级欧美韩日大片在线看| 四虎国产精品免费观看| 日韩精品一区二区三区中文在线 | 亚洲精品无吗| 国产一区视频在线观看免费| 国产情侣久久| 免费成人在线视频观看| 欧美国产另类| 男人的天堂久久精品| 亚洲va中文在线播放免费| 国产精品国产三级在线观看| 丝袜美腿一区二区三区| 欧洲av不卡| 国产精品久久久久久久久久齐齐| 免费人成精品欧美精品| 国产精品99一区二区| 国产69精品久久| 91精品国产自产精品男人的天堂| 亚洲精品99| 特黄特色欧美大片| 国产在线不卡一区二区三区| 日韩高清不卡一区二区| 亚洲国产不卡| 久久九九国产| 日韩综合精品| 国产999精品在线观看| 国产私拍福利精品视频二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 婷婷激情图片久久| 久久影院一区| 99久久婷婷这里只有精品| 在线精品亚洲欧美日韩国产|