Spring-boot oauth2使用RestTemplate進(jìn)行后臺自動登錄的實(shí)現(xiàn)
內(nèi)容不限于登錄業(yè)務(wù),主要簡單介紹RestTemplate的用法,包括
- 使用RestTemplate進(jìn)行post請求 postForObject
- 使用RestTemplate帶body/form-data進(jìn)行post請求 MultiValueMap
- 使用RestTemplate帶josn進(jìn)行post請求JSONObject
- 使用RestTemplate帶頭信息headers進(jìn)行post請求 HttpHeaders
登錄流程
- 定義 RestTemplate
- 定義 MultiValueMap,構(gòu)造 post的body內(nèi)容
- 定義 HttpHeaders,構(gòu)造請求的頭部信息
- 定義 HttpEntity,發(fā)送請求的實(shí)體
- 定義 RestTemplate,進(jìn)行請求。返回?cái)?shù)據(jù)
主要代碼
// 構(gòu)造 post的body內(nèi)容(要post的內(nèi)容,按需定義)
MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.set("grant_type", "password");
paramsMap.set("username", "yourname");
paramsMap.set("password", "yourpassword");
// 構(gòu)造頭部信息(若有需要)
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic xxxxxx你的認(rèn)證密鑰");
// 設(shè)置類型 "application/json;charset=UTF-8"
headers.setContentType(MediaType.APPLICATION_JSON);
// 構(gòu)造請求的實(shí)體。包含body和headers的內(nèi)容
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity(paramsMap, headers);
// 聲明 restTemplateAuth(用作請求)
RestTemplate restTemplateAuth = new RestTemplate();
// 進(jìn)行請求,并返回?cái)?shù)據(jù)
String authInfo = restTemplateAuth.postForObject("http://localhost:8089/oauth/token", request, String.class);
使用josn請求的示例代碼
Posting JSON with postForObject
JSONObject personJsonObject = new JSONObject();
personJsonObject.put("id", 1);
personJsonObject.put("name", "John");
HttpEntity<String> request = new HttpEntity<String>(personJsonObject.toString(), headers);
String personResultAsJsonStr = restTemplate.postForObject("url", request, String.class);
到此這篇關(guān)于Spring-boot oauth2使用RestTemplate進(jìn)行后臺自動登錄的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Spring-boot oauth2 后臺自動登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javacv-ffmpeg ProcessBuilder批量旋轉(zhuǎn)圖片方式
為了批量處理大量圖片的旋轉(zhuǎn),可以使用javacv-ffmpeg結(jié)合ProcessBuilder,首先在maven配置文件中添加ffmpeg及javacpp依賴,javacpp支持調(diào)用C/C++方法,而ffmpeg基于C語言,使用ProcessBuilder創(chuàng)建進(jìn)程調(diào)用ffmpeg方法2024-09-09
Java利用EasyExcel實(shí)現(xiàn)導(dǎo)出導(dǎo)入功能的示例代碼
EasyExcel是一個(gè)基于Java的、快速、簡潔、解決大文件內(nèi)存溢出的Excel處理工具。本文廢話不多說,直接上手試試,用代碼試試EasyExcel是否真的那么好用2022-11-11
簡單談?wù)凾hreadPoolExecutor線程池之submit方法
下面小編就為大家?guī)硪黄唵握務(wù)凾hreadPoolExecutor線程池之submit方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
arthas在idea和docker中的應(yīng)用方式
這篇文章主要介紹了arthas在idea和docker中的應(yīng)用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-10-10
通過實(shí)例學(xué)習(xí)JAVA對象轉(zhuǎn)成XML輸出
這篇文章主要介紹了通過實(shí)例學(xué)習(xí)JAVA對象轉(zhuǎn)成XML輸出,做流程圖的項(xiàng)目時(shí),新的流程定義為xml的,需要對xml與java對象進(jìn)行互轉(zhuǎn),下面我們來深入學(xué)習(xí),需要的朋友可以參考下2019-06-06

