springboot發(fā)送request請求的方式小結(jié)
前言
java發(fā)送請求的方法有很多,這里只介紹兩種。
hutool和RestTemplate
下邊提供兩種后端發(fā)送請求的方式,一個是基于hutool工具的,一個是基于RestTemplate的,為什么要寫這兩種呢,因為有的時候用hutool的方式不太管用,有的時候用RestTemplate也不太管用,所以就且換著用,誰能用,用誰。
hutool方式
get請求
@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請求
@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è)置請求頭,指定Content-Type為application/json
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
headers.set("sign", sign);
// 將解析后的 JSON 對象轉(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請求的方式小結(jié)的文章就介紹到這了,更多相關(guān)springboot發(fā)送request請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java反射根據(jù)不同方法名動態(tài)調(diào)用不同的方法(實例)
下面小編就為大家?guī)硪黄狫ava反射根據(jù)不同方法名動態(tài)調(diào)用不同的方法(實例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
Mybatis中<if>和<choose>的區(qū)別及“=”判斷方式
這篇文章主要介紹了Mybatis中<if>和<choose>的區(qū)別及“=”判斷方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
詳解Java動態(tài)加載數(shù)據(jù)庫驅(qū)動
本篇文章主要介紹了詳解Java動態(tài)加載數(shù)據(jù)庫驅(qū)動,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
優(yōu)化Java內(nèi)存管理來防止“GC”錯誤的方法詳解
垃圾回收(GC)是 Java 中的一個重要機制,它可以管理內(nèi)存并回收不再使用的對象所占用的資源,在本文中,我們將探討一些技巧,幫助您避免這一錯誤,確保您的 Java 應(yīng)用程序順利運行,需要的朋友可以參考下2023-11-11
mybatis修改int型數(shù)據(jù)無法修改成0的解決
這篇文章主要介紹了mybatis修改int型數(shù)據(jù)無法修改成0的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
MyBatis動態(tài)SQL foreach標(biāo)簽實現(xiàn)批量插入的方法示例
這篇文章主要介紹了MyBatis動態(tài)SQL foreach標(biāo)簽實現(xiàn)批量插入的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
基于JSON實現(xiàn)傳輸byte數(shù)組過程解析
這篇文章主要介紹了基于JSON實現(xiàn)傳輸byte數(shù)組過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06

