springboot發(fā)送request請(qǐng)求的方式小結(jié)
前言
java發(fā)送請(qǐng)求的方法有很多,這里只介紹兩種。
hutool和RestTemplate
下邊提供兩種后端發(fā)送請(qǐng)求的方式,一個(gè)是基于hutool工具的,一個(gè)是基于RestTemplate的,為什么要寫這兩種呢,因?yàn)橛械臅r(shí)候用hutool的方式不太管用,有的時(shí)候用RestTemplate也不太管用,所以就且換著用,誰能用,用誰。
hutool方式
get請(qǐng)求
@GetMapping("/userEleList") @ResponseBody public JSONObject userEleList(@RequestParam(name = "userCode") String userCode, HttpServletRequest request) { String Authorization = request.getHeader("Authorization"); String token = request.getHeader("token"); String body = HttpUtil.createGet("http://ip:8068/userEleList?userCode=" + userCode) .header("Authorization", Authorization) .header("token", token) .execute() .body(); return JSONObject.parseObject(body); }
@GetMapping("/getKdToken") @ResponseBody public JSONObject userEleList(@RequestParam(name = "appId") String appId, @RequestParam(name = "appSecret") String appSecret, @RequestParam(name = "grantType") String grantType) { String post = HttpUtil.get("http://ip:8068/getKdToken?appId=" + appId + "&appSecret=" + appSecret + "&grantType=" + grantType); return JSONObject.parseObject(post); }
post請(qǐng)求
@PostMapping("/eleRechargeMoneyAllList") @ResponseBody public JSONObject eleRechargeMoneyAllList(@RequestBody Map<String, Object> map, HttpServletRequest request) { String Authorization = request.getHeader("Authorization"); String token = request.getHeader("token"); Object elemeterId = map.get("elemeterId"); Object money = map.get("money"); Object selOrderno = map.get("selOrderno"); String post = HttpUtil .createPost("http://ip:8068/eleRechargeMoneyAllList?elemeterId=" + elemeterId + "&money=" + money + "&adds=0&selOrderno=" + selOrderno + "&payType=40") .header("Authorization", Authorization) .header("token", token) .execute() .body(); return JSONObject.parseObject(post); }
@PostMapping("/GetClientByCnumber") @ResponseBody public JSONObject GetClientByCnumber(@RequestBody Map<String, Object> map) { String post = HttpUtil.post("http://ip:8006/GetClientByCnumber", map); return JSONObject.parseObject(post); }
RestTemplate方式
@PostMapping("/userPricePay") @ResponseBody public JSONObject userPricePay(@RequestBody Map<String, Object> map, HttpServletRequest request) { String sign = request.getHeader("sign"); RestTemplate restTemplate = new RestTemplate(); // 設(shè)置請(qǐng)求頭,指定Content-Type為application/json HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); // headers.setContentType(MediaType.APPLICATION_JSON_UTF8); headers.set("sign", sign); // 將解析后的 JSON 對(duì)象轉(zhuǎn)換為 MultiValueMap HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(map, headers); ResponseEntity<String> exchange = restTemplate.exchange("https://ip:8080/userPricePay", HttpMethod.POST, requestEntity, String.class); return JSONObject.parseObject(exchange.getBody()); }
到此這篇關(guān)于springboot發(fā)送request請(qǐng)求的方式小結(jié)的文章就介紹到這了,更多相關(guān)springboot發(fā)送request請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java反射根據(jù)不同方法名動(dòng)態(tài)調(diào)用不同的方法(實(shí)例)
下面小編就為大家?guī)硪黄狫ava反射根據(jù)不同方法名動(dòng)態(tài)調(diào)用不同的方法(實(shí)例)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08Mybatis中<if>和<choose>的區(qū)別及“=”判斷方式
這篇文章主要介紹了Mybatis中<if>和<choose>的區(qū)別及“=”判斷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06詳解Java動(dòng)態(tài)加載數(shù)據(jù)庫驅(qū)動(dòng)
本篇文章主要介紹了詳解Java動(dòng)態(tài)加載數(shù)據(jù)庫驅(qū)動(dòng),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05優(yōu)化Java內(nèi)存管理來防止“GC”錯(cuò)誤的方法詳解
垃圾回收(GC)是 Java 中的一個(gè)重要機(jī)制,它可以管理內(nèi)存并回收不再使用的對(duì)象所占用的資源,在本文中,我們將探討一些技巧,幫助您避免這一錯(cuò)誤,確保您的 Java 應(yīng)用程序順利運(yùn)行,需要的朋友可以參考下2023-11-11mybatis修改int型數(shù)據(jù)無法修改成0的解決
這篇文章主要介紹了mybatis修改int型數(shù)據(jù)無法修改成0的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09MyBatis動(dòng)態(tài)SQL foreach標(biāo)簽實(shí)現(xiàn)批量插入的方法示例
這篇文章主要介紹了MyBatis動(dòng)態(tài)SQL foreach標(biāo)簽實(shí)現(xiàn)批量插入的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06基于JSON實(shí)現(xiàn)傳輸byte數(shù)組過程解析
這篇文章主要介紹了基于JSON實(shí)現(xiàn)傳輸byte數(shù)組過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06