重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這期內容當中小編將會給大家帶來有關如何理解restTemplateUtil中幫助類,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
10年積累的成都網站制作、成都網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有慶安免費網站建設讓你可以放心的選擇與我們合作。
import com.zzb.business.customerInfo.config.ReportConfig; import com.zzb.business.customerInfo.config.connection.PengYuanConfig; import org.springframework.core.io.FileSystemResource; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.http.client.ClientHttpResponse; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.client.DefaultResponseErrorHandler; import org.springframework.web.client.RestTemplate; import java.io.File; import java.io.IOException; import java.util.Map; /** * @author edison_kwok */ public class RestTemplateUtils { /** * 可以設置請求頭參數和請求體參數的post方法 * * @param url * @param headers * @param params * @param restTemplate * @return */ public static String postConnect(String url, Mapheaders, Map params, RestTemplate restTemplate) { //header信息,包括了http basic認證信息 MultiValueMap headersMap = new LinkedMultiValueMap<>(); for (String key : headers.keySet()) { headersMap.add(key, headers.get(key)); } //body請求體部分 MultiValueMap bodyMap = new LinkedMultiValueMap<>(); for (String key : params.keySet()) { bodyMap.add(key, params.get(key)); } //merge成為一個HttpEntity HttpEntity > multiValueMapHttpEntity = new HttpEntity<>(bodyMap, headersMap); //當響應的值為400或401時候也要正常響應,不要拋出異常 restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { @Override public void handleError(ClientHttpResponse response) throws IOException { if (response.getRawStatusCode() != 400 || response.getRawStatusCode() != 401) { super.handleError(response); } } }); ResponseEntity responseEntity = restTemplate.exchange(url, HttpMethod.POST, multiValueMapHttpEntity, String.class); return responseEntity.getBody(); } /** * 上傳文件到文件系統 * * @param file * @return */ public static String upload(File file, RestTemplate restTemplate, String uploadUrl) { if (!file.exists()) { return null; } //將文件傳入文件管理系統 FileSystemResource resource = new FileSystemResource(file); MultiValueMap param = new LinkedMultiValueMap<>(); param.add("file", resource); ResponseEntity pathEntity = restTemplate.postForEntity(uploadUrl, param, String.class); //刪除本地文件 file.delete(); //返回文件路徑 例如:risk/file/customerReport/20190621/19062113582560509589.pdf try { return JsonUtils.parse(pathEntity.getBody(), new Object[0]); } catch (IOException e) { e.printStackTrace(); } return null; } }
上述就是小編為大家分享的如何理解restTemplateUtil中幫助類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。