springboot發(fā)送request請求的方式小結(jié)
前言
java發(fā)送請求的方法有很多,這里只介紹兩種。
hutool和RestTemplate
下邊提供兩種后端發(fā)送請求的方式,一個(gè)是基于hutool工具的,一個(gè)是基于RestTemplate的,為什么要寫這兩種呢,因?yàn)橛械臅r(shí)候用hutool的方式不太管用,有的時(shí)候用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創(chuàng)建對象的常見方式技術(shù)指南
在?Java?開發(fā)中,對象是一切面向?qū)ο缶幊痰幕A(chǔ),Java?提供了多種方式來創(chuàng)建對象,不同方式背后有不同的應(yīng)用場景與運(yùn)行機(jī)制,下面哦我們就來深入了解下吧2025-06-06
SpringCloud配置客戶端ConfigClient接入服務(wù)端
這篇文章主要為大家介紹了SpringCloud配置客戶端ConfigClient接入服務(wù)端,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
解決IntelliJ?IDEA輸出中文顯示為問號問題的有效方法
最近剛學(xué)到文件字節(jié)流這里,但輸出中文時(shí),出現(xiàn)了控制臺輸出問號的情況,所以下面這篇文章主要給大家介紹了關(guān)于如何解決IntelliJ?IDEA輸出中文顯示為問號問題的有效方法,需要的朋友可以參考下2022-07-07

