SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


1 概述

Http請求在服務端開發中必不可少,本文使用RestTemplate做門面,HttpClient做實現,演示基礎的Http請求例子。

2 源碼分析

2.1 添加pom.xml依賴

RestTemplate在Spring-Web模塊中內置,SpringBoot自動引入

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


2.2 配置文件application.yml(可選)

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


2.3 編寫RestTemplate配置(必備)

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


做完上述配置,就生成了可用的RestTemplate實例


2.4 Get請求演示

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


2.5 Post請求演示

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


2.6 文件上傳與下載請求演示

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


3 採坑記錄

3.1 只配@ConfigurationProperties時,不會自動創建bean

正確姿勢:

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


錯誤姿勢:

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


3.2 @ConfigurationProperties無法注入沒有`setter`的屬性

3.3 RestTemplate默認配置會亂碼

正確姿勢:

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


錯誤姿勢:

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


4 如何調試RestTemplate

可以在logback裡單獨配一個debug級別的logger,把org.apache.http下面的日誌定向到控制檯:

 




5 工程目錄

SpringBoot基礎教程2-1-11 RestTemplate整合HttpClient


6 結束語

任何建議,歡迎留言探討,本文源碼鏈接:

https://github.com/Mkeeper6/SpringBoot-About



分享到:


相關文章: