Spring-boot oauth2使用RestTemplate進行后臺自動登錄的實現
內容不限于登錄業務,主要簡單介紹RestTemplate的用法,包括
使用RestTemplate進行post請求 postForObject 使用RestTemplate帶body/form-data進行post請求 MultiValueMap 使用RestTemplate帶josn進行post請求JSONObject 使用RestTemplate帶頭信息headers進行post請求 HttpHeaders登錄流程
定義 RestTemplate 定義 MultiValueMap,構造 post的body內容 定義 HttpHeaders,構造請求的頭部信息 定義 HttpEntity,發送請求的實體 定義 RestTemplate,進行請求。返回數據主要代碼
// 構造 post的body內容(要post的內容,按需定義) MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>(); paramsMap.set('grant_type', 'password'); paramsMap.set('username', 'yourname'); paramsMap.set('password', 'yourpassword'); // 構造頭部信息(若有需要) HttpHeaders headers = new HttpHeaders(); headers.add('Authorization', 'Basic xxxxxx你的認證密鑰'); // 設置類型 'application/json;charset=UTF-8' headers.setContentType(MediaType.APPLICATION_JSON); // 構造請求的實體。包含body和headers的內容 HttpEntity<MultiValueMap<String, String>> request = new HttpEntity(paramsMap, headers); // 聲明 restTemplateAuth(用作請求) RestTemplate restTemplateAuth = new RestTemplate(); // 進行請求,并返回數據 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);
到此這篇關于Spring-boot oauth2使用RestTemplate進行后臺自動登錄的實現的文章就介紹到這了,更多相關Spring-boot oauth2 后臺自動登錄內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: